From 32b98ad956045d9752f72f010af652294899e563 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Wed, 5 Jul 2017 14:31:43 -0600 Subject: 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 --- main/http.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'main') diff --git a/main/http.c b/main/http.c index cccc60b81..40f7b521f 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; } -- cgit v1.2.3