/* preserve statistics */
http_server_connection_update_stats(conn);
+ if (conn->incoming_payload != NULL) {
+ /* the stream is still accessed by lib-http caller. */
+ i_stream_remove_destroy_callback(conn->incoming_payload,
+ http_server_payload_destroyed);
+ conn->incoming_payload = NULL;
+ }
+
/* drop all requests before connection is closed */
req = conn->request_queue_head;
while (req != NULL) {
o_stream_uncork(conn->conn.output);
}
- if (conn->incoming_payload != NULL) {
- /* the stream is still accessed by lib-http caller. */
- i_stream_remove_destroy_callback(conn->incoming_payload,
- http_server_payload_destroyed);
- conn->incoming_payload = NULL;
- }
-
if (conn->http_parser != NULL)
http_request_parser_deinit(&conn->http_parser);
connection_disconnect(&conn->conn);