GNOME Bugzilla – Bug 522884
gstneonhttpsrc does not handle the HTTP status 303 correctly.
Last modified: 2008-03-17 09:01:14 UTC
gstneonhttpsrc handles the HTTP status 302, but it ignore the HTTP status 303 "See Other". Refer to the http 1.1 specification for status code. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html Note: Many pre-HTTP/1.1 user agents do not understand the 303 status. When interoperability with such clients is a concern, the 302 status code may be used instead, since most user agents react to a 302 response as described here for 303. Replacing 303 with 302 works fine, but I am not sure if this is okay because there is a subtle difference between 302 and 303. In case of 303, the URI should be retrieved using a GET method on that resource. The following is a URL which returns 303 code. http://www.youtube.com/get_video?hl=en&video_id=6uLUVI3Y0q0&l=60&t=OEgsToPDskIC--0tx6Q-yCsbEcUhrBqk&sk=5_RpHeJouXemWTcCtl2xLAC
Now this URL gives "410 Gone" :) As we always do GET anyway I've changed the 303 to be handled like 302... please test with latest CVS if it works for you :) 2008-03-17 Sebastian Dröge <slomo@circular-chaos.org> * ext/neon/gstneonhttpsrc.c: (gst_neonhttp_src_class_init), (gst_neonhttp_src_send_request_and_redirect): Handle HTTP status code 303 (See Other) the same way as 302 (Found). Not sure what to do about all the other 3xx redirect status codes. Fixes bug #522884.