diff options
Diffstat (limited to 'src/microhttpd/connection.c')
-rw-r--r-- | src/microhttpd/connection.c | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c index 62e21d03..f973c93e 100644 --- a/src/microhttpd/connection.c +++ b/src/microhttpd/connection.c | |||
@@ -3467,32 +3467,11 @@ parse_connection_headers (struct MHD_Connection *connection) | |||
3467 | connection->state = MHD_CONNECTION_FULL_REQ_RECEIVED; | 3467 | connection->state = MHD_CONNECTION_FULL_REQ_RECEIVED; |
3468 | #ifdef HAVE_MESSAGES | 3468 | #ifdef HAVE_MESSAGES |
3469 | MHD_DLOG (connection->daemon, | 3469 | MHD_DLOG (connection->daemon, |
3470 | _ ("Received HTTP 1.1 request without `Host' header.\n")); | 3470 | _ ("Received HTTP/1.1 request without `Host' header.\n")); |
3471 | #endif | 3471 | #endif |
3472 | mhd_assert (NULL == connection->response); | 3472 | transmit_error_response_static (connection, |
3473 | response = | 3473 | MHD_HTTP_BAD_REQUEST, |
3474 | MHD_create_response_from_buffer (MHD_STATICSTR_LEN_ (REQUEST_LACKS_HOST), | 3474 | REQUEST_LACKS_HOST); |
3475 | REQUEST_LACKS_HOST, | ||
3476 | MHD_RESPMEM_PERSISTENT); | ||
3477 | if (NULL == response) | ||
3478 | { | ||
3479 | /* can't even send a reply, at least close the connection */ | ||
3480 | CONNECTION_CLOSE_ERROR (connection, | ||
3481 | _ ( | ||
3482 | "Closing connection (failed to create response).")); | ||
3483 | return; | ||
3484 | } | ||
3485 | iret = MHD_queue_response (connection, | ||
3486 | MHD_HTTP_BAD_REQUEST, | ||
3487 | response); | ||
3488 | MHD_destroy_response (response); | ||
3489 | if (MHD_NO == iret) | ||
3490 | { | ||
3491 | /* can't even send a reply, at least close the connection */ | ||
3492 | CONNECTION_CLOSE_ERROR (connection, | ||
3493 | _ ( | ||
3494 | "Closing connection (failed to queue response).")); | ||
3495 | } | ||
3496 | return; | 3475 | return; |
3497 | } | 3476 | } |
3498 | 3477 | ||