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:26:44 -0500 |
commit | 498768651efa28443d70e903b6bf4386e7f75cfd (patch) | |
tree | 37e37cbfcd395e3a222ce6c6cafa5d39c1671be8 /main | |
parent | 4279d75412d85b57f79657414d0f24eb827655fd (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 of the headers fprintf.
Change-Id: I17bd5f3621514152a7b2b263c801324c5e96568b
Diffstat (limited to 'main')
-rw-r--r-- | main/http.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/main/http.c b/main/http.c index 907f10223..32eb418ba 100644 --- a/main/http.c +++ b/main/http.c @@ -505,7 +505,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, } /* send http header */ - fprintf(ser->f, + if (fprintf(ser->f, "HTTP/1.1 %d %s\r\n" "%s" "Date: %s\r\n" @@ -521,17 +521,20 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, static_content ? "" : "Cache-Control: no-cache, no-store\r\n", http_header ? ast_str_buffer(http_header) : "", content_length - ); + ) <= 0) { + ast_debug(1, "fprintf() failed: %s\n", strerror(errno)); + close_connection = 1; + } /* send content */ - if (method != AST_HTTP_HEAD || status_code >= 400) { + if (!close_connection && (method != AST_HTTP_HEAD || status_code >= 400)) { if (out && ast_str_strlen(out)) { /* * NOTE: Because ser->f is a non-standard FILE *, fwrite() will probably not * behave exactly as documented. */ if (fwrite(ast_str_buffer(out), ast_str_strlen(out), 1, ser->f) != 1) { - ast_log(LOG_ERROR, "fwrite() failed: %s\n", strerror(errno)); + ast_debug(1, "fwrite() failed: %s\n", strerror(errno)); close_connection = 1; } } @@ -546,7 +549,7 @@ void ast_http_send(struct ast_tcptls_session_instance *ser, * behave exactly as documented. */ if (fwrite(buf, len, 1, ser->f) != 1) { - ast_log(LOG_WARNING, "fwrite() failed: %s\n", strerror(errno)); + ast_debug(1, "fwrite() failed: %s\n", strerror(errno)); close_connection = 1; break; } |