> On Feb. 16, 2014, 12:38 a.m., Andrea Iacovitti wrote: > > khtml/ecma/xmlhttprequest.cpp, line 512 > > <https://git.reviewboard.kde.org/r/115689/diff/2/?file=244040#file244040line512> > > > > This does not seems to fix the "POST->POST redirection with no content > > on 307 response" issue, instead it has the side effect that POST method is > > rewritten to GET in 307 redirection.Also it doesn't make possible to do an > > XHR PUT request with content (!_body.isEmpty()) as actually a POST request > > is sent to the origin server and not a PUT. > > We use KIO::http_post (regardless of method) whenever we need to send a > > request that includes content, even for methods that do not have a defined > > semantics for entity-body (e.g. DELETE). > > So setting custom method it's always needed.
The reason a POST method is rewritten to GET in a 307 redirection has to do with how we originally chose to deal with POST redirection in KIO::TransferJob. Right now all POST redirections are converted to GET regardless of the HTTP status code in TransferJob::slotFinished in job.cpp. See the CMD_SPECIAL section of the switch statement in that function. As far as then issue with the PUT request and an entity-body, kio_http was designed only to send the entity-body to the server for POST and other webdav requests. Anything that is done to skirt around that to me is a hack by definition. What would be the purpose of allowing entity-body for methods that are not supposed to have such thing, e.g. DELETE? Anyhow, I do not want to cause regression ; so I will roll back this patch to the way things were. However, those POST->POST redirection tests it seems to pass are wrong because it never sends the entity-body to the redirected resource. - Dawit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/115689/#review49889 ----------------------------------------------------------- On Feb. 14, 2014, 4 p.m., Dawit Alemayehu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/115689/ > ----------------------------------------------------------- > > (Updated Feb. 14, 2014, 4 p.m.) > > > Review request for kdelibs and Andrea Iacovitti. > > > Bugs: 331007 > http://bugs.kde.org/show_bug.cgi?id=331007 > > > Repository: kdelibs > > > Description > ------- > > Fix khtml/ecma/xmlttprequest.cpp such that it correctly handles HEAD requests > without a noticable delay, i.e. use KIO::mimeType instead of KIO::get. > Otherwise, the request will wait for the content which is not returned when > doing a stat operation like HEAD. > > > Diffs > ----- > > khtml/ecma/xmlhttprequest.cpp b3707e7 > kio/kio/job.cpp abb3dfd > > Diff: https://git.reviewboard.kde.org/r/115689/diff/ > > > Testing > ------- > > Tested HEAD redirection with http://greenbytes.de/tech/tc/httpredirects/ > > > Thanks, > > Dawit Alemayehu > >
