[Cuis-dev] WebClient issues

Mariano Montone marianomontone at gmail.com
Tue Oct 1 19:38:39 PDT 2024


Perhaps implement 2) and 3) by modifying Webclient. 1) as separate class.
But this is just my opinion. You are free to do what you want.

El mar, 1 de oct de 2024, 23:34, Mariano Montone <marianomontone at gmail.com>
escribió:

>
>
> El mar, 1 de oct de 2024, 21:31, Mark Volkmann <r.mark.volkmann at gmail.com>
> escribió:
>
>> Sure, I could create subclasses of classes in the WebClient package to
>> add the missing features. I’m curious how it is decided when it’s
>> appropriate to do that rather than improve the existing classes. The
>> features I’m proposing seem like fundamental web features, so I thought it
>> would be better to improve the existing classes so everyone gets access to
>> those features without needing to use new subclasses.
>>
>
> I don't see using a different class as an inconvenience.
>
>
>
>> ---
>> R. Mark Volkmann
>> Object Computing, Inc.
>>
>> On Oct 1, 2024, at 7:21 PM, Mariano Montone <marianomontone at gmail.com>
>> wrote:
>>
>> Can't you implement as a subclass and/or separate package (that depends
>> on webclient package)? I had that at some point.
>> El dom, 29 de sept de 2024, 11:41, Mark Volkmann via Cuis-dev <
>> cuis-dev at lists.cuis.st> escribió:
>>
>>> I've been digging into the WebClient package which can be used to
>>> implement HTTP servers in addition to sending HTTP requests. It has these
>>> three shortcomings:
>>>
>>> 1) It doesn't support paths containing path parameters. Request matching
>>> is done through Dictionary lookups and doesn't work when there are
>>> path parameters. For example, you can define a route for "GET /dog", but
>>> you cannot define a route for "PUT /dog/:id" to update a dog with a given
>>> id.
>>>
>>> 2) It doesn't support query parameters. For example, in a request like
>>> "GET /car?size=small&color=yellow", there is no method that will return a
>>> DIctionary containing the query parameters size and color.
>>>
>>> 3) It doesn't support PATCH requests. These are used to update a subset
>>> of the properties of a given resource, unlike PUT requests which update all
>>> the properties.
>>>
>>> I can fix these shortcomings, but before I do that I want to verify
>>> whether there would be interest in possibly merging my changes. If not then
>>> I can just create my own fork of that package.
>>>
>>> --
>>> R. Mark Volkmann
>>> Object Computing, Inc.
>>> --
>>> Cuis-dev mailing list
>>> Cuis-dev at lists.cuis.st
>>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20241001/adf5b3bb/attachment-0001.htm>


More information about the Cuis-dev mailing list