diff options
Diffstat (limited to 'ot_http.c')
-rw-r--r-- | ot_http.c | 35 |
1 files changed, 26 insertions, 9 deletions
@@ -159,7 +159,9 @@ ssize_t http_sendiovecdata(const int64 sock, struct ot_workstruct *ws, int iovec | |||
159 | 159 | ||
160 | if (iovec_entries) { | 160 | if (iovec_entries) { |
161 | 161 | ||
162 | if (cookie->flag & STRUCT_HTTP_FLAG_GZIP) | 162 | if (cookie->flag & STRUCT_HTTP_FLAG_ZSTD) |
163 | encoding = "Content-Encoding: zstd\r\n"; | ||
164 | else if (cookie->flag & STRUCT_HTTP_FLAG_GZIP) | ||
163 | encoding = "Content-Encoding: gzip\r\n"; | 165 | encoding = "Content-Encoding: gzip\r\n"; |
164 | else if (cookie->flag & STRUCT_HTTP_FLAG_BZIP2) | 166 | else if (cookie->flag & STRUCT_HTTP_FLAG_BZIP2) |
165 | encoding = "Content-Encoding: bzip2\r\n"; | 167 | encoding = "Content-Encoding: bzip2\r\n"; |
@@ -369,19 +371,34 @@ static ssize_t http_handle_fullscrape(const int64 sock, struct ot_workstruct *ws | |||
369 | } | 371 | } |
370 | #endif | 372 | #endif |
371 | 373 | ||
372 | #ifdef WANT_COMPRESSION_GZIP | 374 | |
375 | #if defined(WANT_COMPRESSION_GZIP) || defined(WANT_COMPRESSION_ZSTD) | ||
373 | ws->request[ws->request_size - 1] = 0; | 376 | ws->request[ws->request_size - 1] = 0; |
374 | #ifndef WANT_COMPRESSION_GZIP_ALWAYS | 377 | #ifdef WANT_COMPRESSION_GZIP |
375 | if (strstr(ws->request, "gzip")) { | 378 | if (strstr(ws->request, "gzip")) { |
376 | #endif | ||
377 | cookie->flag |= STRUCT_HTTP_FLAG_GZIP; | 379 | cookie->flag |= STRUCT_HTTP_FLAG_GZIP; |
378 | format = TASK_FLAG_GZIP; | 380 | format |= TASK_FLAG_GZIP; |
379 | stats_issue_event(EVENT_FULLSCRAPE_REQUEST_GZIP, 0, (uintptr_t)cookie->ip); | 381 | } |
380 | #ifndef WANT_COMPRESSION_GZIP_ALWAYS | ||
381 | } else | ||
382 | #endif | 382 | #endif |
383 | #ifdef WANT_COMPRESSION_ZSTD | ||
384 | if (strstr(ws->request, "zstd")) { | ||
385 | cookie->flag |= STRUCT_HTTP_FLAG_ZSTD; | ||
386 | format |= TASK_FLAG_ZSTD; | ||
387 | } | ||
388 | #endif | ||
389 | |||
390 | #if defined(WANT_COMPRESSION_ZSTD) && defined(WANT_COMPRESSION_ZSTD_ALWAYS) | ||
391 | cookie->flag |= STRUCT_HTTP_FLAG_ZSTD; | ||
392 | format |= TASK_FLAG_ZSTD; | ||
383 | #endif | 393 | #endif |
384 | stats_issue_event(EVENT_FULLSCRAPE_REQUEST, 0, (uintptr_t)cookie->ip); | 394 | |
395 | #if defined(WANT_COMPRESSION_GZIP) && defined(WANT_COMPRESSION_GZIP_ALWAYS) | ||
396 | cookie->flag |= STRUCT_HTTP_FLAG_GZIP; | ||
397 | format |= TASK_FLAG_GZIP; | ||
398 | #endif | ||
399 | #endif | ||
400 | |||
401 | stats_issue_event(EVENT_FULLSCRAPE_REQUEST, 0, (uintptr_t)cookie->ip); | ||
385 | 402 | ||
386 | #ifdef _DEBUG_HTTPERROR | 403 | #ifdef _DEBUG_HTTPERROR |
387 | fprintf(stderr, "%s", ws->debugbuf); | 404 | fprintf(stderr, "%s", ws->debugbuf); |