proxy_next_upstream and POSTs

Jonathan Leibiusky ionathan at gmail.com
Mon May 9 20:42:41 MSD 2011


Hi!
Nginx is great and the way it handles upstream and failed server as well! I
would just like to avoid retrying request when they are POSTs, as POSTs are
no idempotent and my backend can't handle duplicated POSTs right now.
So I started to mess around with the code. What I have in mind is to create
a module that will change the behavior of proxy_next_upstream by just
checking that http method != POST.
I believe it supposed to be really simple.
So a couple of questions for those who are into nginx source code:
1. Is there any good article, blog post, etc, that explain how to create and
test a module?
2. Any good advice on how I should do it? I was thinking on adding the
validation somewhere in ngx_http_upstream_test_next (ngx_http_upstream.c),
something like:
if (r->method == NGX_HTTP_POST) {
  return NGX_DECLINED;
}

If this is OK, how could I do this from a module? So when someone compiles
nginx with this module, he'll have this behavior instead of the standard
one?

Sorry if my questions are dumb.

Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20110509/5ab0348b/attachment-0001.html>


More information about the nginx mailing list