http-server-request.c revision 711e8e4c5c5d702dfa062f42a1ede5de14c151c9
7cb128dc4cae2a03a742f63ba7afee23c78e3af0Phil Carmody/* Copyright (c) 2013-2014 Dovecot authors, see the included COPYING file */
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainenhttp_server_request_new(struct http_server_connection *conn)
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainen pool = pool_alloconly_create("http_message", 4096);
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainen req = p_new(pool, struct http_server_request, 1);
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainen http_server_connection_add_request(conn, req);
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainenvoid http_server_request_ref(struct http_server_request *req)
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainenbool http_server_request_unref(struct http_server_request **_req)
a1fff894178eb4279a3acb44948c1ba98db104deTimo Sirainen struct http_server_connection *conn = req->conn;
a1fff894178eb4279a3acb44948c1ba98db104deTimo Sirainen if (req->state < HTTP_SERVER_REQUEST_STATE_FINISHED) {
a1fff894178eb4279a3acb44948c1ba98db104deTimo Sirainen req->state = HTTP_SERVER_REQUEST_STATE_ABORTED;
a1fff894178eb4279a3acb44948c1ba98db104deTimo Sirainen http_server_connection_remove_request(conn, req);
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainenvoid http_server_request_destroy(struct http_server_request **_req)
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainen void (*callback)(void *) = req->destroy_callback;
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainenvoid http_server_request_set_destroy_callback(struct http_server_request *req,
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainen void (*callback)(void *),
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainenvoid http_server_request_abort(struct http_server_request **_req)
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainen struct http_server_connection *conn = req->conn;
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainen if (req->state < HTTP_SERVER_REQUEST_STATE_FINISHED) {
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainen req->state = HTTP_SERVER_REQUEST_STATE_ABORTED;
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainen http_server_connection_remove_request(conn, req);
86441ffc028f11857152c15fe7b0d24ff0874504Timo Sirainenhttp_server_request_get(struct http_server_request *req)
be1749e2421dea6465f9096fd35b28b2500d06e4Timo Sirainenhttp_server_request_get_pool(struct http_server_request *req)
be1749e2421dea6465f9096fd35b28b2500d06e4Timo Sirainenhttp_server_request_get_response(struct http_server_request *req)
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainenint http_server_request_get_auth(struct http_server_request *req,
12ff27eadb44c6877298d3e214c7039342669669Timo Sirainen auth = http_request_header_get(&req->req, "Authorization");
i_unreached();
static struct http_server_response *
return resp;
if (close)