[nginx] Perl: all known input headers are handled identically.

Sergey Kandaurov pluknet at nginx.com
Mon May 30 22:32:31 UTC 2022


details:   https://hg.nginx.org/nginx/rev/8b3860b52bb3
branches:  
changeset: 8026:8b3860b52bb3
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Mon May 30 21:25:36 2022 +0300
description:
Perl: all known input headers are handled identically.

As all known input headers are now linked lists, these are now handled
identically.  In particular, this makes it possible to access properly
combined values of headers not specifically handled previously, such
as "Via" or "Connection".

diffstat:

 src/http/modules/perl/nginx.xs |  22 ++--------------------
 1 files changed, 2 insertions(+), 20 deletions(-)

diffs (34 lines):

diff -r c263f9ffa1fd -r 8b3860b52bb3 src/http/modules/perl/nginx.xs
--- a/src/http/modules/perl/nginx.xs	Mon May 30 21:25:35 2022 +0300
+++ b/src/http/modules/perl/nginx.xs	Mon May 30 21:25:36 2022 +0300
@@ -304,28 +304,10 @@ header_in(r, key)
 
         if (hh->offset == offsetof(ngx_http_headers_in_t, cookie)) {
             sep = ';';
-            goto multi;
-        }
-#if (NGX_HTTP_X_FORWARDED_FOR)
-        if (hh->offset == offsetof(ngx_http_headers_in_t, x_forwarded_for)) {
+
+        } else {
             sep = ',';
-            goto multi;
         }
-#endif
-
-        ph = (ngx_table_elt_t **) ((char *) &r->headers_in + hh->offset);
-
-        if (*ph) {
-            ngx_http_perl_set_targ((*ph)->value.data, (*ph)->value.len);
-
-            goto done;
-        }
-
-        XSRETURN_UNDEF;
-
-    multi:
-
-        /* Cookie, X-Forwarded-For */
 
         ph = (ngx_table_elt_t **) ((char *) &r->headers_in + hh->offset);
 



More information about the nginx-devel mailing list