Mercurial > dovecot > core-2.2
changeset 19685:71627df01608
lib-http: Add function to update HTTP response status
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Mon, 01 Feb 2016 14:44:11 +0200 |
parents | cecbfa036d9f |
children | d3aa060852e6 |
files | src/lib-http/http-server-response.c src/lib-http/http-server.h |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-server-response.c Thu Jan 21 19:49:12 2016 +0200 +++ b/src/lib-http/http-server-response.c Mon Feb 01 14:44:11 2016 +0200 @@ -92,6 +92,16 @@ str_printfa(resp->headers, "%s: %s\r\n", key, value); } +void http_server_response_update_status(struct http_server_response *resp, + unsigned int status, + const char *reason) +{ + i_assert(!resp->submitted); + resp->status = status; + /* free not called because pool is alloconly */ + resp->reason = p_strdup(resp->request->pool, reason); +} + void http_server_response_set_date(struct http_server_response *resp, time_t date) {
--- a/src/lib-http/http-server.h Thu Jan 21 19:49:12 2016 +0200 +++ b/src/lib-http/http-server.h Mon Feb 01 14:44:11 2016 +0200 @@ -144,6 +144,9 @@ unsigned int status, const char *reason); void http_server_response_add_header(struct http_server_response *resp, const char *key, const char *value); +/* Change the response code and text, cannot be used after submission */ +void http_server_response_update_status(struct http_server_response *resp, + unsigned int status, const char *reason); void http_server_response_set_date(struct http_server_response *resp, time_t date); void http_server_response_set_payload(struct http_server_response *resp,