<div dir="ltr"><pre style="color:rgb(0,0,0);white-space:pre-wrap">Hi Maxim,</pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">I am sending the response in the request handler which I registered for</pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">in the NGX_HTTP_SERVER_REWRITE_PHASE handler. In my handler, I have the</pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">following code to avoid responding multiple times as well. Still, I am getting</pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">the error.</pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">  if (r->main->count > 1)
    return NGX_DECLINED;<br></pre><pre style="color:rgb(0,0,0);white-space:pre-wrap"><br></pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">Bhasker.</pre><pre style="color:rgb(0,0,0);white-space:pre-wrap"><br></pre><pre style="color:rgb(0,0,0);white-space:pre-wrap">Hello!

On Wed, May 16, 2018 at 10:02:02AM -0700, Dk Jack wrote:

><i> Hi,
</i>><i> I am trying to send a custom response in my module when I encounter a
</i>><i> request for a specific location. For example, I have setup my location as
</i>><i> follows:
</i>><i> 
</i>><i>   server {
</i>><i>     listen 9999;
</i>><i>       location /__my_module {
</i>><i>       set_mymodule_location;
</i>><i>       log_not_found off;
</i>><i>     }
</i>><i>   }
</i>><i> 
</i>><i> In my location handler, I am trying to respond to a request for this
</i>><i> location. I get the response I expect at the client. However, I am seeing
</i>><i> the following error message logged in error.log:
</i>><i> 
</i>><i> 2018/05/16 00:38:07 [alert] 225#225: *158 header already sent, client:
</i>><i> 127.0.0.1, server: , request: "GET /__my_module HTTP/1.1", host:
</i>><i> "localhost:9999"
</i>><i> 
</i>><i> Can someone let me know how I can prevent this error from showing up. Also,
</i>><i> the return value from ngx_http_send_header is always an NGX_ERROR. Not sure
</i>><i> why...
</i>
The error indicate that you are trying to sent a response header 
at the point where it was already sent.  You have to invistigate 
why and where it happens, and fix things.  Most likely you are 
trying to add your code in a wrong place.

-- 
Maxim Dounin
<a href="http://mdounin.ru/">http://mdounin.ru/</a>
</pre><br class="gmail-Apple-interchange-newline" style="color:rgb(0,0,0);font-family:-webkit-standard"></div>