Mercurial > hg > nginx
view src/http/modules/perl/ngx_http_perl_module.h @ 7676:d225b70d38b6
Proxy: detection of data after final chunk.
Previously, additional data after final chunk was either ignored
(in the same buffer, or during unbuffered proxying) or sent to the
client (in the next buffer already if it was already read from the
socket). Now additional data are properly detected and ignored
in all cases. Additionally, a warning is now logged and keepalive
is disabled in the connection.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 06 Jul 2020 18:36:20 +0300 |
parents | 975d7ab37b39 |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_HTTP_PERL_MODULE_H_INCLUDED_ #define _NGX_HTTP_PERL_MODULE_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #include <ngx_http.h> #include <nginx.h> #include <EXTERN.h> #include <perl.h> typedef ngx_http_request_t *nginx; typedef struct { ngx_http_request_t *request; ngx_str_t filename; ngx_str_t redirect_uri; SV *next; ngx_int_t status; unsigned done:1; unsigned error:1; unsigned variable:1; unsigned header_sent:1; ngx_array_t *variables; /* array of ngx_http_perl_var_t */ #if (NGX_HTTP_SSI) ngx_http_ssi_ctx_t *ssi; #endif } ngx_http_perl_ctx_t; typedef struct { ngx_uint_t hash; ngx_str_t name; ngx_str_t value; } ngx_http_perl_var_t; extern ngx_module_t ngx_http_perl_module; /* * workaround for "unused variable `Perl___notused'" warning * when building with perl 5.6.1 */ #ifndef PERL_IMPLICIT_CONTEXT #undef dTHXa #define dTHXa(a) #endif extern void boot_DynaLoader(pTHX_ CV* cv); void ngx_http_perl_handle_request(ngx_http_request_t *r); void ngx_http_perl_sleep_handler(ngx_http_request_t *r); #endif /* _NGX_HTTP_PERL_MODULE_H_INCLUDED_ */