You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2021/11/09 21:19:54 UTC

[trafficserver] branch 9.2.x updated: Define TS_HTTP_VALUE_BROTLI and TS_HTTP_LEN_BROTLI (#8477)

This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 9.2.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/9.2.x by this push:
     new f2ea712  Define TS_HTTP_VALUE_BROTLI and TS_HTTP_LEN_BROTLI (#8477)
f2ea712 is described below

commit f2ea7120256bbe726e86bdc702b723ca79987282
Author: Masaori Koshiba <ma...@apache.org>
AuthorDate: Fri Nov 5 12:49:24 2021 +0900

    Define TS_HTTP_VALUE_BROTLI and TS_HTTP_LEN_BROTLI (#8477)
    
    (cherry picked from commit 332617f90ffff5c156316850186da9e4dfb0ee85)
---
 include/ts/apidefs.h.in                   |  2 ++
 plugins/compress/compress.cc              |  2 --
 plugins/stats_over_http/stats_over_http.c |  6 +-----
 proxy/hdrs/HTTP.cc                        |  4 ++++
 proxy/hdrs/HTTP.h                         |  2 ++
 proxy/hdrs/HdrToken.cc                    | 10 ++++++++--
 proxy/hdrs/MIME.cc                        |  2 ++
 proxy/hdrs/MIME.h                         |  2 ++
 src/traffic_server/InkAPI.cc              |  4 ++++
 9 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/include/ts/apidefs.h.in b/include/ts/apidefs.h.in
index d2646cf..bf5b314 100644
--- a/include/ts/apidefs.h.in
+++ b/include/ts/apidefs.h.in
@@ -1282,6 +1282,7 @@ extern tsapi const char *TS_HTTP_VALUE_CLOSE;
 extern tsapi const char *TS_HTTP_VALUE_COMPRESS;
 extern tsapi const char *TS_HTTP_VALUE_DEFLATE;
 extern tsapi const char *TS_HTTP_VALUE_GZIP;
+extern tsapi const char *TS_HTTP_VALUE_BROTLI;
 extern tsapi const char *TS_HTTP_VALUE_IDENTITY;
 extern tsapi const char *TS_HTTP_VALUE_KEEP_ALIVE;
 extern tsapi const char *TS_HTTP_VALUE_MAX_AGE;
@@ -1305,6 +1306,7 @@ extern tsapi int TS_HTTP_LEN_CLOSE;
 extern tsapi int TS_HTTP_LEN_COMPRESS;
 extern tsapi int TS_HTTP_LEN_DEFLATE;
 extern tsapi int TS_HTTP_LEN_GZIP;
+extern tsapi int TS_HTTP_LEN_BROTLI;
 extern tsapi int TS_HTTP_LEN_IDENTITY;
 extern tsapi int TS_HTTP_LEN_KEEP_ALIVE;
 extern tsapi int TS_HTTP_LEN_MAX_AGE;
diff --git a/plugins/compress/compress.cc b/plugins/compress/compress.cc
index 5f1011e..d12efb9 100644
--- a/plugins/compress/compress.cc
+++ b/plugins/compress/compress.cc
@@ -55,8 +55,6 @@ using namespace Gzip;
 
 const int ZLIB_COMPRESSION_LEVEL = 6;
 const char *dictionary           = nullptr;
-const char *TS_HTTP_VALUE_BROTLI = "br";
-const int TS_HTTP_LEN_BROTLI     = 2;
 
 // brotli compression quality 1-11. Testing proved level '6'
 #if HAVE_BROTLI_ENCODE_H
diff --git a/plugins/stats_over_http/stats_over_http.c b/plugins/stats_over_http/stats_over_http.c
index e497275..5dae13b 100644
--- a/plugins/stats_over_http/stats_over_http.c
+++ b/plugins/stats_over_http/stats_over_http.c
@@ -61,10 +61,6 @@
 /* global holding the path used for access to this JSON data */
 #define DEFAULT_URL_PATH "_stats"
 
-// TODO: replace with TS_HTTP_* when BROTLI is supported
-#define HTTP_VALUE_BR "br"
-#define HTTP_LEN_BR 2
-
 // from mod_deflate:
 // ZLIB's compression algorithm uses a
 // 0-9 based scale that GZIP does where '1' is 'Best speed'
@@ -630,7 +626,7 @@ stats_origin(TSCont contp ATS_UNUSED, TSEvent event ATS_UNUSED, void *edata)
       my_state->encoding = init_gzip(my_state, GZIP_MODE);
     }
 #if HAVE_BROTLI_ENCODE_H
-    else if (len >= HTTP_LEN_BR && strstr(str, HTTP_VALUE_BR) != NULL) {
+    else if (len >= TS_HTTP_LEN_BROTLI && strstr(str, TS_HTTP_VALUE_BROTLI) != NULL) {
       TSDebug(PLUGIN_NAME, "Saw br in accept encoding");
       my_state->encoding = init_br(my_state);
     }
diff --git a/proxy/hdrs/HTTP.cc b/proxy/hdrs/HTTP.cc
index 73cd163..4e17d54 100644
--- a/proxy/hdrs/HTTP.cc
+++ b/proxy/hdrs/HTTP.cc
@@ -85,6 +85,7 @@ const char *HTTP_VALUE_CLOSE;
 const char *HTTP_VALUE_COMPRESS;
 const char *HTTP_VALUE_DEFLATE;
 const char *HTTP_VALUE_GZIP;
+const char *HTTP_VALUE_BROTLI;
 const char *HTTP_VALUE_IDENTITY;
 const char *HTTP_VALUE_KEEP_ALIVE;
 const char *HTTP_VALUE_MAX_AGE;
@@ -120,6 +121,7 @@ int HTTP_LEN_CLOSE;
 int HTTP_LEN_COMPRESS;
 int HTTP_LEN_DEFLATE;
 int HTTP_LEN_GZIP;
+int HTTP_LEN_BROTLI;
 int HTTP_LEN_IDENTITY;
 int HTTP_LEN_KEEP_ALIVE;
 int HTTP_LEN_MAX_AGE;
@@ -218,6 +220,7 @@ http_init()
     HTTP_VALUE_COMPRESS             = hdrtoken_string_to_wks("compress");
     HTTP_VALUE_DEFLATE              = hdrtoken_string_to_wks("deflate");
     HTTP_VALUE_GZIP                 = hdrtoken_string_to_wks("gzip");
+    HTTP_VALUE_BROTLI               = hdrtoken_string_to_wks("br");
     HTTP_VALUE_IDENTITY             = hdrtoken_string_to_wks("identity");
     HTTP_VALUE_KEEP_ALIVE           = hdrtoken_string_to_wks("keep-alive");
     HTTP_VALUE_MAX_AGE              = hdrtoken_string_to_wks("max-age");
@@ -242,6 +245,7 @@ http_init()
     HTTP_LEN_COMPRESS             = hdrtoken_wks_to_length(HTTP_VALUE_COMPRESS);
     HTTP_LEN_DEFLATE              = hdrtoken_wks_to_length(HTTP_VALUE_DEFLATE);
     HTTP_LEN_GZIP                 = hdrtoken_wks_to_length(HTTP_VALUE_GZIP);
+    HTTP_LEN_BROTLI               = hdrtoken_wks_to_length(HTTP_VALUE_BROTLI);
     HTTP_LEN_IDENTITY             = hdrtoken_wks_to_length(HTTP_VALUE_IDENTITY);
     HTTP_LEN_KEEP_ALIVE           = hdrtoken_wks_to_length(HTTP_VALUE_KEEP_ALIVE);
     HTTP_LEN_MAX_AGE              = hdrtoken_wks_to_length(HTTP_VALUE_MAX_AGE);
diff --git a/proxy/hdrs/HTTP.h b/proxy/hdrs/HTTP.h
index b5ee365..6d01fb2 100644
--- a/proxy/hdrs/HTTP.h
+++ b/proxy/hdrs/HTTP.h
@@ -367,6 +367,7 @@ extern const char *HTTP_VALUE_CLOSE;
 extern const char *HTTP_VALUE_COMPRESS;
 extern const char *HTTP_VALUE_DEFLATE;
 extern const char *HTTP_VALUE_GZIP;
+extern const char *HTTP_VALUE_BROTLI;
 extern const char *HTTP_VALUE_IDENTITY;
 extern const char *HTTP_VALUE_KEEP_ALIVE;
 extern const char *HTTP_VALUE_MAX_AGE;
@@ -391,6 +392,7 @@ extern int HTTP_LEN_CLOSE;
 extern int HTTP_LEN_COMPRESS;
 extern int HTTP_LEN_DEFLATE;
 extern int HTTP_LEN_GZIP;
+extern int HTTP_LEN_BROTLI;
 extern int HTTP_LEN_IDENTITY;
 extern int HTTP_LEN_KEEP_ALIVE;
 extern int HTTP_LEN_MAX_AGE;
diff --git a/proxy/hdrs/HdrToken.cc b/proxy/hdrs/HdrToken.cc
index a4e161c..fe6abf6 100644
--- a/proxy/hdrs/HdrToken.cc
+++ b/proxy/hdrs/HdrToken.cc
@@ -113,7 +113,10 @@ static const char *_hdrtoken_strs[] = {
   "Forwarded",
 
   // RFC-8470
-  "Early-Data"};
+  "Early-Data",
+
+  // RFC-7932
+  "br"};
 
 static HdrTokenTypeBinding _hdrtoken_strs_type_initializers[] = {
   {"file", HDRTOKEN_TYPE_SCHEME},
@@ -366,7 +369,10 @@ static const char *_hdrtoken_commonly_tokenized_strs[] = {
   "Forwarded",
 
   // RFC-8470
-  "Early-Data"};
+  "Early-Data",
+
+  // RFC-7932
+  "br"};
 
 /*-------------------------------------------------------------------------
   -------------------------------------------------------------------------*/
diff --git a/proxy/hdrs/MIME.cc b/proxy/hdrs/MIME.cc
index 729ec9d..857f73a 100644
--- a/proxy/hdrs/MIME.cc
+++ b/proxy/hdrs/MIME.cc
@@ -164,6 +164,7 @@ const char *MIME_VALUE_CLOSE;
 const char *MIME_VALUE_COMPRESS;
 const char *MIME_VALUE_DEFLATE;
 const char *MIME_VALUE_GZIP;
+const char *MIME_VALUE_BROTLI;
 const char *MIME_VALUE_IDENTITY;
 const char *MIME_VALUE_KEEP_ALIVE;
 const char *MIME_VALUE_MAX_AGE;
@@ -919,6 +920,7 @@ mime_init()
     MIME_VALUE_COMPRESS             = hdrtoken_string_to_wks("compress");
     MIME_VALUE_DEFLATE              = hdrtoken_string_to_wks("deflate");
     MIME_VALUE_GZIP                 = hdrtoken_string_to_wks("gzip");
+    MIME_VALUE_BROTLI               = hdrtoken_string_to_wks("br");
     MIME_VALUE_IDENTITY             = hdrtoken_string_to_wks("identity");
     MIME_VALUE_KEEP_ALIVE           = hdrtoken_string_to_wks("keep-alive");
     MIME_VALUE_MAX_AGE              = hdrtoken_string_to_wks("max-age");
diff --git a/proxy/hdrs/MIME.h b/proxy/hdrs/MIME.h
index f7e5136..6474dd0 100644
--- a/proxy/hdrs/MIME.h
+++ b/proxy/hdrs/MIME.h
@@ -466,6 +466,7 @@ extern const char *MIME_VALUE_CLOSE;
 extern const char *MIME_VALUE_COMPRESS;
 extern const char *MIME_VALUE_DEFLATE;
 extern const char *MIME_VALUE_GZIP;
+extern const char *MIME_VALUE_BROTLI;
 extern const char *MIME_VALUE_IDENTITY;
 extern const char *MIME_VALUE_KEEP_ALIVE;
 extern const char *MIME_VALUE_MAX_AGE;
@@ -566,6 +567,7 @@ extern int MIME_LEN_CLOSE;
 extern int MIME_LEN_COMPRESS;
 extern int MIME_LEN_DEFLATE;
 extern int MIME_LEN_GZIP;
+extern int MIME_LEN_BLOTLI;
 extern int MIME_LEN_IDENTITY;
 extern int MIME_LEN_KEEP_ALIVE;
 extern int MIME_LEN_MAX_AGE;
diff --git a/src/traffic_server/InkAPI.cc b/src/traffic_server/InkAPI.cc
index b9c4b02..8f1c9fd 100644
--- a/src/traffic_server/InkAPI.cc
+++ b/src/traffic_server/InkAPI.cc
@@ -316,6 +316,7 @@ tsapi const char *TS_HTTP_VALUE_CLOSE;
 tsapi const char *TS_HTTP_VALUE_COMPRESS;
 tsapi const char *TS_HTTP_VALUE_DEFLATE;
 tsapi const char *TS_HTTP_VALUE_GZIP;
+tsapi const char *TS_HTTP_VALUE_BROTLI;
 tsapi const char *TS_HTTP_VALUE_IDENTITY;
 tsapi const char *TS_HTTP_VALUE_KEEP_ALIVE;
 tsapi const char *TS_HTTP_VALUE_MAX_AGE;
@@ -339,6 +340,7 @@ tsapi int TS_HTTP_LEN_CLOSE;
 tsapi int TS_HTTP_LEN_COMPRESS;
 tsapi int TS_HTTP_LEN_DEFLATE;
 tsapi int TS_HTTP_LEN_GZIP;
+tsapi int TS_HTTP_LEN_BROTLI;
 tsapi int TS_HTTP_LEN_IDENTITY;
 tsapi int TS_HTTP_LEN_KEEP_ALIVE;
 tsapi int TS_HTTP_LEN_MAX_AGE;
@@ -1765,6 +1767,7 @@ api_init()
     TS_HTTP_VALUE_COMPRESS         = HTTP_VALUE_COMPRESS;
     TS_HTTP_VALUE_DEFLATE          = HTTP_VALUE_DEFLATE;
     TS_HTTP_VALUE_GZIP             = HTTP_VALUE_GZIP;
+    TS_HTTP_VALUE_BROTLI           = HTTP_VALUE_BROTLI;
     TS_HTTP_VALUE_IDENTITY         = HTTP_VALUE_IDENTITY;
     TS_HTTP_VALUE_KEEP_ALIVE       = HTTP_VALUE_KEEP_ALIVE;
     TS_HTTP_VALUE_MAX_AGE          = HTTP_VALUE_MAX_AGE;
@@ -1787,6 +1790,7 @@ api_init()
     TS_HTTP_LEN_COMPRESS         = HTTP_LEN_COMPRESS;
     TS_HTTP_LEN_DEFLATE          = HTTP_LEN_DEFLATE;
     TS_HTTP_LEN_GZIP             = HTTP_LEN_GZIP;
+    TS_HTTP_LEN_BROTLI           = HTTP_LEN_BROTLI;
     TS_HTTP_LEN_IDENTITY         = HTTP_LEN_IDENTITY;
     TS_HTTP_LEN_KEEP_ALIVE       = HTTP_LEN_KEEP_ALIVE;
     TS_HTTP_LEN_MAX_AGE          = HTTP_LEN_MAX_AGE;