diff src/http/modules/perl/ngx_http_perl_module.h @ 7530:fd9252844ec1

Perl: avoid returning 500 if header was already sent. Returning NGX_HTTP_INTERNAL_SERVER_ERROR if a perl code died after sending header will lead to a "header already sent" alert. To avoid it, we now check if header was already sent, and return NGX_ERROR instead if it was.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 12 Jul 2019 15:39:25 +0300
parents 0cb693b4cbbb
children 975d7ab37b39
line wrap: on
line diff
--- a/src/http/modules/perl/ngx_http_perl_module.h
+++ b/src/http/modules/perl/ngx_http_perl_module.h
@@ -34,6 +34,7 @@ typedef struct {
     unsigned                  done:1;
     unsigned                  error:1;
     unsigned                  variable:1;
+    unsigned                  header_sent:1;
 
     ngx_array_t              *variables;  /* array of ngx_http_perl_var_t */