Comment 11 for bug 1103136

Revision history for this message
Raymond Hill (rhill) wrote :

Alright, I would argue the problem is in the Go library.

I did not set "Accept-Encoding" header in my request, which as per http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3 :

"If the Accept-Encoding field-value is empty, then only the 'identity' encoding is acceptable"

However, the Go code will set Accept-Encoding to gzip if the client did not do it. It surely is nice in general, but unfrotunately this breaks requests which have a Range header, as suddenly the request for [0-n] bytes of identity material requested by the user is transformed into a request of [0-n] bytes of gzipped material by Go's inners. This is obviously wrong, and Go should not temper with Accept-Encoding when a Range is requested, as it effectively change completely the semantic of the request made by the user.

I will file a bug with Go devs, and I believe Ubuntu Server should not change a thing on their side, as it was doing the proper thing. This bug can be close now.

Thanks for your help Sidnei, and sorry to have consumed of your time for an issue which is unrelated to Ubuntu One server.