[Fedora-suds-list] Gzip compression
Jeff Ortel
jortel at redhat.com
Wed May 5 18:52:07 UTC 2010
Hey Daniel,
Thanks for the great suggestion, patch and for creating a ticket for this. I'll review
for inclusion in 0.4. Can you recommend a public test site/service for this?
Regards,
Jeff
On 04/29/2010 07:53 AM, Daniel Rodriguez wrote:
> 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
> <mailto: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
> <mailto: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
>
>
>
>
>
> _______________________________________________
> suds mailing list
> suds at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/suds
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5126 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.fedoraproject.org/pipermail/suds/attachments/20100505/846a51de/attachment-0001.bin
More information about the suds
mailing list