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 | ee894ab162bd237456a7a11d59bba4f05daa93e7 (patch) | |
tree | 58dd68d97c0fec25702f9be73748da285c3c74be /src/c/http.c | |
parent | 57fc55fafbf4d4f4b3aeb07d12eb9591da801b6e (diff) |
HTTP: avoid duplicate Content-length
Diffstat (limited to 'src/c/http.c')
-rw-r--r-- | src/c/http.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/c/http.c b/src/c/http.c index d19ce350..ebe50bea 100644 --- a/src/c/http.c +++ b/src/c/http.c @@ -233,8 +233,6 @@ static void *worker(void *data) { sock, uw_really_send, close); if (rr != KEEP_OPEN) { - char clen[100]; - if (keepalive) { char *connection = uw_Basis_requestHeader(ctx, "Connection"); @@ -244,8 +242,13 @@ static void *worker(void *data) { if (!should_keepalive) uw_write_header(ctx, "Connection: close\r\n"); - sprintf(clen, "Content-length: %d\r\n", uw_pagelen(ctx)); - uw_write_header(ctx, clen); + if (!uw_has_contentLength(ctx)) { + char clen[100]; + + sprintf(clen, "Content-length: %d\r\n", uw_pagelen(ctx)); + uw_write_header(ctx, clen); + } + uw_send(ctx, sock); } |