
Gotcha. I guess what I meant was that you shouldn't care about this at the application level, but you're talking about an operational concern, not an application-level concern. Perhaps this should be a tunable on Agent somehow. Can you file a ticket? -glyph
On Jan 30, 2017, at 18:16, Kevin Mcintyre <kebin70@gmail.com> wrote:
Dealing with older apache, ruby, passenger setup. Hoping to mimic behavior and show OPS that chunked encoding isn't working correctly.
With python requests (http://docs.python-requests.org/en/master/ <http://docs.python-requests.org/en/master/>) all POST calls work correctly, but twisted requests are failing.
I'm thinking (and hoping) it's failing because twisted is chunking the post body. When I send the requests to a twisted endpoint like below the requests are successful and the response is identical. from twisted.web import server, resource from twisted.internet import reactor
class Simple(resource.Resource): isLeaf = True def render_POST(self, request): print request.content.getvalue() return request.content.getvalue()
site = server.Site(Simple()) reactor.listenTCP(8080, site) reactor.run()
On Mon, Jan 30, 2017 at 2:39 PM, Glyph Lefkowitz <glyph@twistedmatrix.com <mailto:glyph@twistedmatrix.com>> wrote:
On Jan 30, 2017, at 13:47, Kevin Mcintyre <kebin70@gmail.com <mailto:kebin70@gmail.com>> wrote:
hey all - quick question. Trying to understand FileBodyProducer as it pertains to POST. json_body = FileBodyProducer(StringIO(json.dumps({'key': 'value'}))) agent.request("POST", ~uri, Headers({'User-Agent': ['AkamaiTest']}), json_body) Does the agent chunk the POST body?
Maybe!
Is this controllable? Not really. The current implementation will certainly use chunked encoding sometimes, but there isn't a strong API guarantee of this anywhere. Any insight appreciated!
You probably don't want to try to control this. I believe that proxies are within their rights to mess around with chunk boundaries and re-buffer things, so you don't have any strong guarantees that chunk sizes will be preserved.
Why is it that you want to control chunking in the first place?
-glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com <mailto:Twisted-Python@twistedmatrix.com> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python <http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python>
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python