Program hangs when modifying u->buffer while using proxy module to talk to upstream backend

Ashish S at
Tue Apr 10 02:02:10 UTC 2012


I currently use upstream to talk to a back-end, which sends me some
response. In my module, i am trying to re-format the plain-text
upstream backend response, to XML, and I also add some new data to it,
based on an in-memory lookup within my module.  What would be the best
way to do this?

In my setup, I am able to parse response from upstream (u->buffer),
construct a modified string and assign it back to u->buffer, and am I
setting  u->headers_in.content_length_n and
r->headers_out.content_length_n correctly. The issue i face is, every
*second* request hangs, if i am trying the request through the
browser. (However, trying through command-line & curl, works
everytime). And I always see this error message in the logs: "client
prematurely closed connection, so upstream connection is closed too
while sending to client, client:".   What am i doing wrong?


More information about the nginx mailing list