| Summary: | [Curl] Don't send Content-Type header for POST request when body is null. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Basuke Suzuki <Basuke.Suzuki> | ||||
| Component: | Platform | Assignee: | Basuke Suzuki <Basuke.Suzuki> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | achristensen, Basuke.Suzuki, commit-queue, ews-watchlist, galpeter, Hironori.Fujii, webkit-bug-importer, youennf | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | WebKit Nightly Build | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
|
Description
Basuke Suzuki
2018-08-14 16:14:47 PDT
Created attachment 347126 [details]
PATCH
Comment on attachment 347126 [details] PATCH View in context: https://bugs.webkit.org/attachment.cgi?id=347126&action=review > Source/WebCore/ChangeLog:9 > + when body is null. Is it done for CURL only for POST when setting CURLOPT_POST? Is it also happening for other methods like PUT? > Source/WebCore/platform/network/curl/CurlRequest.cpp:468 > + m_curlHandle->removeRequestHeader("Content-Type"_s); What happens if there are elementSize but no provided HTTPHeaderName::ContentType? If it is the default CURL, does it align with other ports? Comment on attachment 347126 [details] PATCH View in context: https://bugs.webkit.org/attachment.cgi?id=347126&action=review >> Source/WebCore/ChangeLog:9 >> + when body is null. > > Is it done for CURL only for POST when setting CURLOPT_POST? > Is it also happening for other methods like PUT? libcurl only behaves like this on POST. I guess POST is more popular use case for libcurl. >> Source/WebCore/platform/network/curl/CurlRequest.cpp:468 >> + m_curlHandle->removeRequestHeader("Content-Type"_s); > > What happens if there are elementSize but no provided HTTPHeaderName::ContentType? > If it is the default CURL, does it align with other ports? That is covered by this case in the test: req.open("POST", "methods.cgi", false); req.send(""); log('POST(""): ' + req.getResponseHeader("REQMETHOD") + "(" + req.getResponseHeader("REQLENGTH") + " bytes), Content-Type: " + req.getResponseHeader("REQTYPE")); All three ports returns that content type is sent as "Content-Type: text/plain;charset=UTF-8". Comment on attachment 347126 [details]
PATCH
Thanks Youenn for r+
Comment on attachment 347126 [details] PATCH Clearing flags on attachment: 347126 Committed r234892: <https://trac.webkit.org/changeset/234892> All reviewed patches have been landed. Closing bug. http/tests/xmlhttprequest/methods.html is starting to fail. https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Tests%29/builds/1043 I confirmed this difference. It is weird the result was different than at home. I'm double check my build env. |