[mod_cgi] quiet trace if mod_cgi sends SIGTERM (fixes #2838)
[lighttpd.git] / src / response.h
blobcd2683946db8e4636f2c81aa70473a4b78b2673d
1 #ifndef _RESPONSE_H_
2 #define _RESPONSE_H_
3 #include "first.h"
5 #include "server.h"
7 #include <time.h>
9 int http_response_parse(server *srv, connection *con);
10 int http_response_write_header(server *srv, connection *con);
12 int response_header_insert(server *srv, connection *con, const char *key, size_t keylen, const char *value, size_t vallen);
13 int response_header_overwrite(server *srv, connection *con, const char *key, size_t keylen, const char *value, size_t vallen);
14 int response_header_append(server *srv, connection *con, const char *key, size_t keylen, const char *value, size_t vallen);
16 typedef struct http_cgi_opts_t {
17 int authorizer;
18 int break_scriptfilename_for_php;
19 buffer *docroot;
20 buffer *strip_request_uri;
21 } http_cgi_opts;
23 enum {
24 BACKEND_UNSET = 0,
25 BACKEND_PROXY,
26 BACKEND_CGI,
27 BACKEND_FASTCGI,
28 BACKEND_SCGI
31 typedef struct http_response_opts_t {
32 int fdfmt;
33 int backend;
34 int authorizer;
35 unsigned short local_redir;
36 unsigned short xsendfile_allow;
37 array *xsendfile_docroot;
38 void *pdata;
39 handler_t(*parse)(server *, connection *, struct http_response_opts_t *, buffer *, size_t);
40 handler_t(*headers)(server *, connection *, struct http_response_opts_t *);
41 } http_response_opts;
43 typedef int (*http_cgi_header_append_cb)(void *vdata, const char *k, size_t klen, const char *v, size_t vlen);
44 int http_cgi_headers(server *srv, connection *con, http_cgi_opts *opts, http_cgi_header_append_cb cb, void *vdata);
46 handler_t http_response_parse_headers(server *srv, connection *con, http_response_opts *opts, buffer *hdrs);
47 handler_t http_response_read(server *srv, connection *con, http_response_opts *opts, buffer *b, int fd, int *fde_ndx);
48 handler_t http_response_prepare(server *srv, connection *con);
49 int http_response_redirect_to_directory(server *srv, connection *con);
50 int http_response_handle_cachable(server *srv, connection *con, buffer * mtime);
51 void http_response_send_file (server *srv, connection *con, buffer *path);
52 void http_response_backend_done (server *srv, connection *con);
53 void http_response_backend_error (server *srv, connection *con);
54 void http_response_upgrade_read_body_unknown(server *srv, connection *con);
56 buffer * strftime_cache_get(server *srv, time_t last_mod);
57 #endif