diff options
Diffstat (limited to 'server.h')
-rw-r--r-- | server.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/server.h b/server.h index 0e77f7c..b1a22ee 100644 --- a/server.h +++ b/server.h @@ -121,6 +121,14 @@ httpHead(struct kreq *req, enum khttp http, enum kmime mime) { || khttp_head(req, kresps[KRESP_CONTENT_TYPE], "%s", kmimetypes[mime]); } +static inline enum kcgi_err +httpRedirect(struct kreq *req, const char *url) { + return httpHead(req, KHTTP_302, KMIME_TEXT_PLAIN) + || khttp_head(req, kresps[KRESP_LOCATION], "%s", url) + || khttp_body(req) + || khttp_printf(req, "%s\n", url); +} + static inline enum kcgi_err httpFail(struct kreq *req, enum khttp http) { return httpHead(req, http, KMIME_TEXT_PLAIN) || khttp_body(req) |