Review Request 116017: Implement POST - POST redirection support in KIO
--- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/116017/ --- 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
Re: Review Request 116017: Implement POST - POST redirection support in KIO
--- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/116017/#review50761 --- 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. - Andrea Iacovitti 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
Re: Review Request 116017: Implement POST - POST redirection support in KIO
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