diff --git a/src/lib-http/http-client-connection.c b/src/lib-http/http-client-connection.c index 0cd50cab67..bd30926a6e 100644 --- a/src/lib-http/http-client-connection.c +++ b/src/lib-http/http-client-connection.c @@ -694,12 +694,8 @@ static void http_client_connection_destroy(struct connection *_conn) static void http_client_payload_finished(struct http_client_connection *conn) { - struct http_client_context *cctx = conn->ppool->peer->cctx; - timeout_remove(&conn->to_input); - conn->conn.io = io_add_istream_to(cctx->ioloop, conn->conn.input, - http_client_connection_input, - &conn->conn); + connection_input_resume(&conn->conn); if (array_count(&conn->request_wait_list) > 0) http_client_connection_start_request_timeout(conn); } @@ -797,7 +793,6 @@ http_client_connection_return_response( struct http_response *response) { struct http_client_peer_shared *pshared = conn->ppool->peer; - struct http_client_context *cctx = pshared->cctx; struct istream *payload; bool retrying; @@ -822,7 +817,7 @@ http_client_connection_return_response( req); /* the callback may add its own I/O, so we need to remove our one before calling it */ - io_remove(&conn->conn.io); + connection_input_halt(&conn->conn); /* we've received the request itself, and we can't reset the timeout during the payload reading. */ http_client_connection_stop_request_timeout(conn); @@ -846,10 +841,7 @@ http_client_connection_return_response( i_stream_remove_destroy_callback(conn->incoming_payload, http_client_payload_destroyed); i_stream_unref(&conn->incoming_payload); - conn->conn.io = io_add_istream_to(cctx->ioloop, - conn->conn.input, - http_client_connection_input, - &conn->conn); + connection_input_resume(&conn->conn); } http_client_connection_unref_request(conn, &req); return http_client_connection_unref(&conn);