Browse Source

Merge pull request #1183 from liangmingyuanneo/fix-wrong-report-timeout

Fix the wrong report of http header transferring timeout.
bel2125 1 year ago
parent
commit
b17030edcb
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/civetweb.c

+ 3 - 3
src/civetweb.c

@@ -11328,11 +11328,11 @@ read_message(FILE *fp,
 			request_len = get_http_header_len(buf, *nread);
 			request_len = get_http_header_len(buf, *nread);
 		}
 		}
 
 
-		if ((request_len == 0) && (request_timeout >= 0)) {
+		if ((n <= 0) && (request_timeout >= 0)) {
 			if (mg_difftimespec(&last_action_time, &(conn->req_time))
 			if (mg_difftimespec(&last_action_time, &(conn->req_time))
 			    > request_timeout) {
 			    > request_timeout) {
 				/* Timeout */
 				/* Timeout */
-				return -1;
+				return -3;
 			}
 			}
 		}
 		}
 	}
 	}
@@ -18816,7 +18816,7 @@ get_message(struct mg_connection *conn, char *ebuf, size_t ebuf_len, int *err)
 			            ebuf,
 			            ebuf,
 			            ebuf_len,
 			            ebuf_len,
 			            "%s",
 			            "%s",
-			            "Malformed message");
+			            conn->request_len == -3 ? "Request timeout" : "Malformed message");
 			*err = 400;
 			*err = 400;
 		} else {
 		} else {
 			/* Server did not recv anything -> just close the connection */
 			/* Server did not recv anything -> just close the connection */