diff options
author | George Joseph <gjoseph@digium.com> | 2017-07-05 14:31:43 -0600 |
---|---|---|
committer | George Joseph <gjoseph@digium.com> | 2017-07-11 09:29:51 -0500 |
commit | 303f935a50835ce40c3589603d8c66fff292c64a (patch) | |
tree | d2c04e18b477f07deac93f6e6d6a223f9a4bb53c /main/http.c | |
parent | 16f0fa52c05e14c050db014bb7d555edb261fe1d (diff) |
http.c: Reduce log spam
Messages like "fwrite() failed: Connection reset by peer" are no
help whatsoever, especially since they can be caused simply by a
client disconnecting.
* Make those WARNINGs DEBUGs.
* Check the return from ast_iostream_printf of headers.
Change-Id: I17bd5f3621514152a7b2b263c801324c5e96568b
Diffstat (limited to 'main/http.c')
-rw-r--r-- | main/http.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/main/http.c b/main/http.c index ea85a2823..7191eb524 100644 --- a/main/http.c +++ b/main/http.c @@ -508,7 +508,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, send_content = method != AST_HTTP_HEAD || status_code >= 400; /* send http header */ - ast_iostream_printf(ser->stream, + if (ast_iostream_printf(ser->stream, "HTTP/1.1 %d %s\r\n" "%s" "Date: %s\r\n" @@ -526,13 +526,16 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, http_header ? ast_str_buffer(http_header) : "", content_length, send_content && out && ast_str_strlen(out) ? ast_str_buffer(out) : "" - ); + ) <= 0) { + ast_debug(1, "ast_iostream_printf() failed: %s\n", strerror(errno)); + close_connection = 1; + } /* send content */ - if (send_content && fd) { + if (!close_connection && send_content && fd) { while ((len = read(fd, buf, sizeof(buf))) > 0) { if (ast_iostream_write(ser->stream, buf, len) != len) { - ast_log(LOG_WARNING, "fwrite() failed: %s\n", strerror(errno)); + ast_debug(1, "ast_iostream_write() failed: %s\n", strerror(errno)); close_connection = 1; break; } |