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;