Fixed bug with writing responses

Connections are now closed after response is send if client requested "Connection: close"
This commit is contained in:
2014-07-29 21:23:36 +01:00
parent 31e1ff4f97
commit e8d1e4d7d9
6 changed files with 23 additions and 4 deletions

View File

@@ -171,13 +171,13 @@ void skt_elem_write_response(skt_elem *elem, http_response *response, bool dispo
char *response_str = http_response_write(response);
utstring_printf(elem->info->write, "%s", response_str);
free(response_str);
if (dispose == true) {
http_response_delete(response);
}
http_header* connection_header = http_header_list_get(response->headers, HEADER_CONNECTION);
if (connection_header != NULL && strcasecmp(connection_header->content, "close") == 0) {
elem->info->close_afterwrite = true;
}
if (dispose == true) {
http_response_delete(response);
}
}
void skt_elem_delete(skt_elem* elem) {
if (elem->info!=NULL) skt_delete(elem->info);