Hi Jeff et al,
If I am not wrong (I may have missed a configuration option), suds is not
using or requesting gzip compression.
I have added a few lines and tested at least requesting and accepting gzip
compression. My changes have been trivial and this could be possibly added
as an option to suds.
The changes I have made (against 3.9):
*File*: suds/transport/http.py:
*
*
*Extra imports*:
import gzip
import StringIO
*Class*: HttpTransport
*Method*: send
*Added:*
After:
- headers = request.headers
added the following line
- headers.update([('Accept-Encoding', 'gzip')])
*Changed:*
- result = Reply(200, fp.headers.dict, fp.read())
to
- replydata = fp.read()
- for header in fp.headers.dict.keys():
- if header.lower() == 'content-encoding' and
fp.headers.dict[header] == 'gzip':
- replydatacompressedstream = StringIO.StringIO(replydata)
- gzipper = gzip.GzipFile(fileobj=replydatacompressedstream)
- replydata = gzipper.read()
- result = Reply(200, fp.headers.dict, replydata)
Best regards
Daniel