curl / Mailing Lists / curl-library / Single Mail


Re: a URL API ?

From: Geoff Beier <>
Date: Thu, 2 Aug 2018 13:41:34 -0400

On Thu, Aug 2, 2018 at 11:36 AM, Daniel Stenberg <> wrote:

> On Thu, 2 Aug 2018, Geoff Beier wrote:
> The setters would be important to us. I might be bikeshedding here, but
>> the ability to add to the query would be very nice. So something like
>> curl_url_query_append(urlp, "numitems", 3)
> That ("numitems", 3) approach is very specific for adding a
> "[name]=[number]" snippet though. Shouldn't it rather be a function for
> appdending a generic string?
> curl_url_query_append(urp, "numitems=3");
> ... or using the alternative B API (
> wiki/URL-API#url-api-alternative-b) approach:
> curl_url_append(urp, CURLUPART_QUERY, "numitems=3");

I was actually contemplating an API that would append key-value pairs and
just do the right thing based on type. So overloads like:

curl_url_append(urp, <string type>, <numeric type>);
curl_url_append(urp, <string type>, <string type>);
curl_url_append(urp, <string type>, <buffer type>, <length type>);

would take care of encoding key=value appropriately as opposed to a
function like

curl_url_query_append(urp, "numitems=3");

that would assume the caller has encoded it appropriately and just wants to
append it to a query string.

Like I said, I recognize that this might all be bikeshedding and think
what's been proposed is an excellent addition to the current API. But based
on where I've tripped or seen people trip, I think something like this
would match the mental model of a web api user well and cut down on a
common avenue for misuse without adding much complexity to the library.


Received on 2018-08-02