RESOLVED FIXED 36854
REGRESSION (r47291): Body from cross origin preflight response is prepended to the actual response body
https://bugs.webkit.org/show_bug.cgi?id=36854
Summary REGRESSION (r47291): Body from cross origin preflight response is prepended t...
Hiren Joshi
Reported 2010-03-30 14:42:58 PDT
For a pre-flighted request (triggered for example when the X-Requested-With header is set), any data returned by the preflight request is prepended to the actual request data. In the given url, a cross-domain request is triggered to a simple echo resource. The output for this resource is static, and sets the Access control headers to enable cross-origin requests: curl -i 'http://131.243.44.83/maschup/webkit_xdr_bug.pl' HTTP/1.1 200 OK Date: Tue, 30 Mar 2010 21:34:50 GMT Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch Access-control-allow-headers: X-Requested-With Access-control-max-age: 1728000 Access-control-allow-origin: * Access-control-allow-methods: * Vary: Accept-Encoding Content-Length: 4 Content-Type: text/plain echo The output from this echo script is always static, and always returns the Access-Control headers. When a cross-domain request is triggered from within a recent webkit (i.e. nightly webkit, or Chrome), the responseText contains the body from the preflight request as well as the body from the actual request. This can be seen at the page given in the URL (http://jbei-exwebapp.lbl.gov/maschup/webkit_xdr_bug.html). The HTTP specifications don't seem to say what the user-agent should do with the body of the request. Firefox (3.6.2) returns only the body from the actual request, and Safari (4.0.5 (5531.22.7) OS X 10.5) also returns only the body from the actual request.
Attachments
proposed fix (6.66 KB, patch)
2010-04-01 17:06 PDT, Alexey Proskuryakov
darin: review+
Alexey Proskuryakov
Comment 1 2010-03-30 19:08:27 PDT
Alexey Proskuryakov
Comment 2 2010-04-01 17:06:26 PDT
Created attachment 52356 [details] proposed fix
Alexey Proskuryakov
Comment 3 2010-04-01 17:26:56 PDT
Alexey Proskuryakov
Comment 5 2010-04-02 12:26:35 PDT
The test has been skipped on Qt: <http://trac.webkit.org/changeset/56998>.
Eric Seidel (no email)
Comment 6 2010-04-02 12:45:36 PDT
Thank you very much for the follow-up Alexey.
Note You need to log in before you can comment on or make changes to this bug.