From 6b00a4550873e2ef0748b624ae00be891572fb4f Mon Sep 17 00:00:00 2001 From: John Chilton Date: Tue, 18 Nov 2014 11:39:01 -0500 Subject: [PATCH] Fix Pulsar's default HTTP transport for poster hacking up urllib. Behavior of urllib changes with respect of content length of mmap content after poster is loaded - is automatically loaded by Pulsar client as of 9207ecb43d81853da7a58cd5634683dc87991c4f (added as part of October 2014 stable release). Enis has confirmed this fixes some problems in latest stable. --- lib/pulsar/client/transport/standard.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pulsar/client/transport/standard.py b/lib/pulsar/client/transport/standard.py index 999ecce5af9..9a5c46372e4 100644 --- a/lib/pulsar/client/transport/standard.py +++ b/lib/pulsar/client/transport/standard.py @@ -24,11 +24,13 @@ class Urllib2Transport(object): input = None try: if input_path: - if getsize(input_path): + size = getsize(input_path) + if size: input = open(input_path, 'rb') data = mmap.mmap(input.fileno(), 0, access=mmap.ACCESS_READ) else: data = b"" + request.add_header('Content-Length', str(size)) response = self._url_open(request, data) finally: if input: