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); |
