Review Request 116017: Implement POST -> POST redirection support in KIO

Dawit Alemayehu adawit at kde.org
Tue Feb 25 06:05:27 GMT 2014



> On Feb. 24, 2014, 8:47 p.m., Andrea Iacovitti wrote:
> > I quickly tested the patch using a basic html form and it seems it break http post operation (regardless of redirection).
> > I get back a "400 Bad Request" from the server and can see the following debug message:
> > "kio_http(17852)/kio (kioslave) KIO::SlaveBasePrivate::verifyState: special() did not call finished() or error()! Please fix the KIO slave."
> > 
> > As for these page
> > http://greenbytes.de/tech/tc/httpredirects/t307methods.html
> > http://greenbytes.de/tech/tc/httpredirects/t308methods.html
> > they can't be used for testing as they do make XHR requests with no body data.
> >

Fixed. It would actually help if the QBuffer was opened before attempting to read from it. :(


- Dawit


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116017/#review50761
-----------------------------------------------------------


On Feb. 24, 2014, 2:07 p.m., Dawit Alemayehu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/116017/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2014, 2:07 p.m.)
> 
> 
> Review request for kdelibs, Andrea Iacovitti and David Faure.
> 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> The attached patch implements support for redirecting one POST request to another in KIO. Unless implicitly disabled currently the automatic redirection handler in KIO always redirects any POST requests to a GET.
> 
> Note this patch also changes the original KIO::http_post implementation that accepted a QByteArray to simply store the data in a QBuffer and call the newer implementation that uses a QIODevice. I have updated the documentation for the original implementation to state as such and encourage developers to directly use the newer http_post method instead. Not sure if everyone will agree with my implementation but it makes it much easier to resend POST data on redirection.
> 
> 
> Diffs
> -----
> 
>   kio/kio/job.h aeaffa2 
>   kio/kio/job.cpp 9cf2b57 
>   kioslave/http/http.cpp 9eba5d1 
> 
> Diff: https://git.reviewboard.kde.org/r/116017/diff/
> 
> 
> Testing
> -------
> 
> http://greenbytes.de/tech/tc/httpredirects/t307methods.html
> http://greenbytes.de/tech/tc/httpredirects/t308methods.html
> 
> 
> Thanks,
> 
> Dawit Alemayehu
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140225/22dd69a3/attachment.htm>


More information about the kde-core-devel mailing list