[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