[Fedora-suds-list] Gzip compression

Daniel Rodriguez danjrod at gmail.com
Thu Apr 29 12:53:42 UTC 2010


Hello,

I have added ticket 311 requesting this enhancement with attached patches
for transport/http.py and transport/options.py

Requesting compression can be turned off and on with the "gzip" option (a
bool)

The gzip decompression code works always. The reasoning behind this is:


   - Some network providers may compress the data in HTTP responses in order
   to decrease network traffic, expecting all clients to be ready to decompress
   data

Best regards

Daniel

On Sat, Apr 3, 2010 at 21:07, Daniel Rodriguez <danjrod at gmail.com> wrote:

> A "break" at the end of the "if" statement will not hurt and avoid checking
> unnecessary headers.
>
> Best regards
>
>
> On Sat, Apr 3, 2010 at 02:14, Daniel Rodriguez <danjrod at gmail.com> wrote:
>
>> 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/suds/attachments/20100429/30ee605c/attachment.html 


More information about the suds mailing list