| 393 |
static void deflate_check_etag(request_rec *r, const char *transform) |
static void deflate_check_etag(request_rec *r, const char *transform) |
| 394 |
{ |
{ |
| 395 |
const char *etag = apr_table_get(r->headers_out, "ETag"); |
const char *etag = apr_table_get(r->headers_out, "ETag"); |
| 396 |
if (etag && (((etag[0] != 'W') && (etag[0] !='w')) || (etag[1] != '/'))) { |
if ((etag && (strlen(etag) > 2))) { |
| 397 |
|
if (etag[0] == '"') { |
| 398 |
|
etag = apr_pstrndup(r->pool, etag, strlen(etag) - 2); |
| 399 |
apr_table_set(r->headers_out, "ETag", |
apr_table_set(r->headers_out, "ETag", |
| 400 |
apr_pstrcat(r->pool, etag, "-", transform, NULL)); |
apr_pstrcat(r->pool, etag, "-", transform, "\"", NULL)); |
| 401 |
|
} |
| 402 |
} |
} |
| 403 |
} |
} |
| 404 |
static apr_status_t deflate_out_filter(ap_filter_t *f, |
static apr_status_t deflate_out_filter(ap_filter_t *f, |