Commit 8601b03e authored by Sergey Lyubka's avatar Sergey Lyubka

Do not set Connection: keep-alive unless -enable_keep_alive is set

parent 79df70f5
......@@ -781,8 +781,9 @@ static int match_extension(const char *path, const char *ext_list) {
static int should_keep_alive(const struct mg_connection *conn) {
const char *http_version = conn->request_info.http_version;
const char *header = mg_get_header(conn, "Connection");
return (header == NULL && http_version && !strcmp(http_version, "1.1")) ||
(header != NULL && !mg_strcasecmp(header, "keep-alive"));
return (!mg_strcasecmp(conn->ctx->config[ENABLE_KEEP_ALIVE], "yes") &&
(header == NULL && http_version && !strcmp(http_version, "1.1"))) ||
(header != NULL && !mg_strcasecmp(header, "keep-alive"));
}
static const char *suggest_connection_header(const struct mg_connection *conn) {
......
......@@ -229,6 +229,7 @@ o("GET /$test_dir_uri/x/ HTTP/1.0\n\n",
"SCRIPT_FILENAME=test/test_dir/x/index.cgi", 'SCRIPT_FILENAME');
o("GET /ta/x/ HTTP/1.0\n\n", "SCRIPT_NAME=/ta/x/index.cgi",
'Aliases SCRIPT_NAME');
o("GET /hello.txt HTTP/1.1\n\n", 'Connection: close', 'No keep-alive');
#o("GET /hello.txt HTTP/1.1\n\n GET /hello.txt HTTP/1.0\n\n",
# 'HTTP/1.1 200.+keep-alive.+HTTP/1.1 200.+close',
# 'Request pipelining', 2);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment