On Thu, Oct 28, 2021 at 8:15 PM Daniel Stenberg <[email protected]> wrote:
> On Thu, 28 Oct 2021, Fujii Hironori via curl-library wrote: > > > Monaco Editor Samples is using their own HTTP server 'yaserver' which > sends > > an invalid 'Content-Encoding: utf8' header. > > Shouldn't you then report this as an error against yaserver? > I did it. https://github.com/alexdima/yaserver/issues/2 > > > However, if I invoke curl commnad with '--compressed' switch, it reports > > 'CURLE_BAD_CONTENT_ENCODING' error. > > It's not a known encoding to libcurl. > > > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding> > > 'identity' value "is always considered as acceptable, even if omitted." > > The better reference for the header is here: > https://datatracker.ietf.org/doc/html/rfc7231#section-3.1.2.2 > > > Why doesn't curl treat the unknown encoding as identity if > > CURLOPT_ACCEPT_ENCODING is set to ""? > > I don't think that's what it says we should do, because that would then > also > pass on contents compressed with other algorithm than what curl supports > etc. > > But I understand what you're asking for. Maybe we should provide a way to > tell > libcurl "when no matching encoding is found, pretend it was identity". Of > course that will then risk passing on complete garbage at times. > That's an option I want. Major browsers can load the response. Minor browsers should follow the behavior. The behavior of major implementations is more important than RFC for me. > > > Should WinCairo set the CURLOPT_ACCEPT_ENCODING explicitly to the > following > > instead of "" ? > > > >> curl_easy_setopt(m_handle, CURLOPT_ACCEPT_ENCODING, "identity, deflate, > > gzip, br"); > > That list still doesn't include 'utf8'. > My bad, it was my mistake. Specifying 'identity' doesn't make curl ignore unknown encodings. On Thu, Oct 28, 2021 at 10:11 PM Philip Tellis via curl-library < [email protected]> wrote: > I think curl is doing the right thing. If the compressed flag is set, then > curl has to decode the encoding itself. If the flag isn't set then curl > passes that responsibility to the calling application. > > This allows applications to use curl as a transport. > > That means I have to set CURLOPT_HTTPHEADER and decode br, gzip and deflate. https://curl.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html also says do so. But, it's too complicated.
-- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html
