Ah, ok. I'm not sure where I got that line to mark header_only from, probably looking at some other code. Once I commented that out, I discovered where the content length was coming from, I had an error page for the 302 response that I hadn't realized I'd put in there and of course it makes sense in this case that there was a response length but no body because I had forced the flag. Code adjusby jmheisz - Nginx Development
Hello! I've been trying to debug an issue with a custom nginx module, which is working 'properly' with desktop browsers but failing on Apple browsers with an 'invalid response' error message. I don't know exactly what it doesn't like (so much fun debugging on i-devices) but I am seeing one specific oddity when tracing the response from nginx through the desktop debugging console that might be tby jmheisz - Nginx Development
Thanks Sergey, that's kind of where I was heading and I've looked at those, but this is where I get tripped up. Unlike the 'real' upstream-dependent instances (which are reading from an upstream socket instance and can process incoming data in the main event loop, no locking required), the processing in my module is a bunch of code doing direct API accesses (no file descriptors exposed) in the taby jmheisz - Nginx Development
Hi all, I've asked this before with no response, trying one last time before I just make something work. I'm making a custom module for nginx that does a number of things but one of the actions is a long-running (in the nginx sense) task that could produce a large response. I've already got proper processing around using worker tasks for the other long-running operations that have small datasetsby jmheisz - Nginx Development
Ok, that did it, was a bit more painful than expected since I had to actually write a filter function (if you don't provide it, your init method is also overwritten by the default) but in the end it is now cleanly processing without hanging up on my upstream daemon. A suggested change to consider for the nginx core - perhaps at the end of the ngx_http_upstream_process_headers() function, insteadby jmheisz - Nginx Development
Hmmm, hopefully this works because I subscribed with digest. Thank you very much for the feedback, I now had an idea of where to focus (I had a rough idea but this made it clearer). And now I know what the issue is but have no idea how to resolve it. My module was setting the upstream length as you suggested, hence my confusion. So I flooded the ngx_http_upstream code with debug statements toby jmheisz - Nginx Development
Giving this one more try with a few questions this time. 1) This mailing list used to be more discussion oriented but seems to be mainly patch notifications now. Is there a more appropriate channel to ask these kind of module development questions for NGINX? 2) I'm actually working on a second module/system aside from the one mentioned in my previous post. This might actually be an easier quesby jmheisz - Nginx Development
Let's start with some background. I'm developing a module to run inside the NGINX engine to process requests (standard content phase) against an API (not an upstream-compatible socket-based protocol). These requests could be long-running so the module is using thread tasks to execute and generate responses. I'm well aware of how to safely manage content in multi-threaded environments and the thrby jmheisz - Nginx Development