blocking, resp->event);
}
+void http_server_ostream_response_finished(
+ struct http_server_ostream *hsostream)
+{
+ e_debug(hsostream->wostream.event, "Response payload finished");
+
+ wrapper_ostream_output_destroyed(&hsostream->wostream);
+}
+
void http_server_ostream_response_destroyed(
struct http_server_ostream *hsostream)
{
void http_server_ostream_output_available(
struct http_server_ostream *hsostream);
+void http_server_ostream_response_finished(
+ struct http_server_ostream *hsostream);
void http_server_ostream_response_destroyed(
struct http_server_ostream *hsostream);
void http_server_response_request_destroy(struct http_server_response *resp);
void http_server_response_request_abort(struct http_server_response *resp,
const char *reason);
+void http_server_response_request_finished(struct http_server_response *resp);
int http_server_response_send(struct http_server_response *resp);
int http_server_response_send_more(struct http_server_response *resp);
http_server_connection_remove_request(conn, req);
conn->stats.response_count++;
+ if (req->response != NULL)
+ http_server_response_request_finished(req->response);
+
if (tunnel_callback == NULL) {
if (req->connection_close) {
http_server_connection_close(&conn,
return 1;
}
+void http_server_response_request_finished(struct http_server_response *resp)
+{
+ e_debug(resp->event, "Finished");
+
+ if (resp->payload_stream != NULL)
+ http_server_ostream_response_finished(resp->payload_stream);
+}
+
int http_server_response_finish_payload_out(struct http_server_response *resp)
{
struct http_server_request *req = resp->request;