changeset 8026:8b3860b52bb3

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".
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 30 May 2022 21:25:36 +0300
parents c263f9ffa1fd
children ca78312db071
files src/http/modules/perl/nginx.xs
diffstat 1 files changed, 2 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/perl/nginx.xs
+++ b/src/http/modules/perl/nginx.xs
@@ -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);