Subject: Re: bug#58925: 29.0.50; url-open-stream has no option pass tls options per call

From: Stefan Kangas <[email-masked]>
Date: Mon, 31 Oct 2022 08:02:53 -0700

Björn Bidar via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <[email-masked]> writes:

> While investigating who to use magit with tls client certificates
> I noticed that url-open-stream has no option to pass options to
> network-open-stream on a per connection basis to do thing like e.g.
> request the use of tls client certificates.
>
> If this was possible the client could be able to call url with something
> like (url-http "https://example.com" 'my-cb gw-options) to pass more
> options to the specific gateway that is used.
>
> I know it is possible to use network-stream-use-client-certificates
> however that might be not always as elegant to use.

I think this is a general problem with url.el: there are many things
that you can basically only change by let-binding some variable.
So while this setting is important, there are other things that are
important too.

In any case, improving the url.el seems like the wrong thing to work on,
when we should instead be working on replacing it.  I think the most
promising direction is integrating libcurl, myself.  Let's remember that
url.el is both old and stable.

So I'd be inclined to close this as wontfix.