mirror of
https://github.com/libevent/libevent.git
synced 2025-01-09 00:56:20 +08:00
introduce is connection close
svn:r260
This commit is contained in:
parent
a67d9cb115
commit
d2c27da114
12
http.c
12
http.c
@ -1125,6 +1125,13 @@ evhttp_start_read(struct evhttp_connection *evcon)
|
||||
event_add(&evcon->ev, &tv);
|
||||
}
|
||||
|
||||
static int
|
||||
evhttp_is_connection_close(struct evkeyval* headers)
|
||||
{
|
||||
const char *connection = evhttp_find_header(headers, "Connection");
|
||||
return (connection != NULL && strcasecmp(connection, "close") == 0);
|
||||
}
|
||||
|
||||
void
|
||||
evhttp_send_done(struct evhttp_connection *evcon, void *arg)
|
||||
{
|
||||
@ -1132,9 +1139,8 @@ evhttp_send_done(struct evhttp_connection *evcon, void *arg)
|
||||
TAILQ_REMOVE(&evcon->requests, req, next);
|
||||
|
||||
if (req->flags & EVHTTP_REQ_OWN_CONNECTION) {
|
||||
const char *connection =
|
||||
evhttp_find_header(req->output_headers, "Connection");
|
||||
if (connection == NULL || strcasecmp(connection, "close")) {
|
||||
if (!evhttp_is_connection_close(req->input_headers) &&
|
||||
!evhttp_is_connection_close(req->output_headers)) {
|
||||
event_warnx("%s: persistent connection not supported",
|
||||
__func__);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user