Welcome! Log In Create A New Profile

Advanced

Re: identifying last request on a tcp connection.

Maxim Dounin
September 19, 2018 02:10PM
Hello!

On Wed, Sep 19, 2018 at 02:19:53AM -0400, winger7 wrote:

> I've been trying to identify the last HTTP request from a buffer of 10
> requests sent on a TCP connection in nginx. I've tried to use the header_in
> field in the ngx_http_request_t by checking if the pos field for the
> header_in is equal to the last field. This condition holds true twice, once
> on the first request and then on the last request. My program intends to
> break out once the last request is identified and hence, has been breaking
> after encountering the first request because of this check.
>
> Can someone help me identify the problem with my approach and point to the
> right solution? Thanks!

Looking into r->header_in is not a right thing to do. It is an
internal field used by nginx request parsing. Its content may be
different depending on various factors, including buffer sizes
configured, TCP connection timing details, and so on. Not to
mention that contents of r->header_in will be mostly meaningless
when using HTTP/2.

If you want to identify 10th request on a connection, consider
using the r->connection->requests field instead. It is also
available in nginx configuration as the $connection_requests
variable, see http://nginx.org/r/$connection_requests.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

identifying last request on a tcp connection.

winger7 September 19, 2018 02:19AM

Re: identifying last request on a tcp connection.

Maxim Dounin September 19, 2018 02:10PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 190
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready