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

2014-02-24 Thread Dawit Alemayehu

---
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

2014-02-24 Thread Andrea Iacovitti

---
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

2014-02-24 Thread Dawit Alemayehu


 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