diff options
author | Adam Chlipala <adam@chlipala.net> | 2013-12-12 10:24:38 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2013-12-12 10:24:38 -0500 |
commit | fdeb6edadce0a9da274449ac1450e871e183734b (patch) | |
tree | 58dd68d97c0fec25702f9be73748da285c3c74be /src/c/urweb.c | |
parent | bc4cdf7f4a995846125917ac0abb1a67bfd81fca (diff) |
HTTP: avoid duplicate Content-length
Diffstat (limited to 'src/c/urweb.c')
-rw-r--r-- | src/c/urweb.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c index 1c66e9e8..9641333c 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -1347,6 +1347,10 @@ void uw_write_header(uw_context ctx, uw_Basis_string s) { ctx->outHeaders.front += len; } +int uw_has_contentLength(uw_context ctx) { + return strstr(ctx->outHeaders.start, "Content-length: ") != NULL; +} + void uw_clear_headers(uw_context ctx) { uw_buffer_reset(&ctx->outHeaders); } @@ -3723,7 +3727,7 @@ __attribute__((noreturn)) void uw_return_blob(uw_context ctx, uw_Basis_blob b, u uw_write_header(ctx, on_success); uw_write_header(ctx, "Content-Type: "); uw_write_header(ctx, mimeType); - uw_write_header(ctx, "\r\nContent-Length: "); + uw_write_header(ctx, "\r\nContent-length: "); ctx_uw_buffer_check(ctx, "headers", &ctx->outHeaders, INTS_MAX); sprintf(ctx->outHeaders.front, "%lu%n", (unsigned long)b.size, &len); ctx->outHeaders.front += len; @@ -3755,7 +3759,7 @@ __attribute__((noreturn)) void uw_return_blob_from_page(uw_context ctx, uw_Basis uw_write_header(ctx, on_success); uw_write_header(ctx, "Content-Type: "); uw_write_header(ctx, mimeType); - uw_write_header(ctx, "\r\nContent-Length: "); + uw_write_header(ctx, "\r\nContent-length: "); ctx_uw_buffer_check(ctx, "headers", &ctx->outHeaders, INTS_MAX); sprintf(ctx->outHeaders.front, "%lu%n", (unsigned long)uw_buffer_used(&ctx->page), &len); ctx->outHeaders.front += len; |