|Summary:||[Curl] POST requests sometimes fail.|
|Component:||WebCore Misc.||Assignee:||Nobody <webkit-unassigned>|
|Severity:||Normal||CC:||ap, bfulgham, commit-queue, peavo|
|Version:||528+ (Nightly build)|
Description peavo 2013-03-08 04:27:59 PST
Curl adds the header 'Expect: 100-Continue' when sending a POST request. When we receive the header 'HTTP/1.1 100 Continue' we should not call ResourceHandleClient::didReceiveResponse(), as the request might be cancelled because the MIME type is empty in this case.
Comment 2 peavo 2013-03-12 07:14:50 PDT
A good way to reproduce this, is to create a new bug at https://bugs.webkit.org/. When clicking the commit button after filling in the various fields, the POST request sent is always failing for me.
Comment 4 peavo 2013-05-07 07:17:38 PDT
Modified the patch slightly, inspired by the blackberry port. The blackberry port also ignores http code 100 (and other info codes), see the method NetworkJob::handleNotifyStatusReceived() in WebCore\platform\network\blackberry\NetworkJob.cpp. The blackberry port also doesn't classify http code 304 (Not modified) as a redirect. I did the same thing for Curl, now the 304 code is reported as a response (ResourceHandleClient::didReceiveResponse() is called).
Comment 5 Brent Fulgham 2013-05-07 08:26:09 PDT
Comment on attachment 200899 [details] Patch Looks great!
Comment 6 WebKit Commit Bot 2013-05-07 08:52:47 PDT
Comment on attachment 200899 [details] Patch Clearing flags on attachment: 200899 Committed r149672: <http://trac.webkit.org/changeset/149672>
Comment 7 WebKit Commit Bot 2013-05-07 08:52:49 PDT
All reviewed patches have been landed. Closing bug.