44 |
44 |
45 typedef struct { |
45 typedef struct { |
46 Session *sn; |
46 Session *sn; |
47 Request *rq; |
47 Request *rq; |
48 UcxBuffer *tmp; |
48 UcxBuffer *tmp; |
|
49 int status; |
|
50 char *msg; |
49 } CGIResponseParser; |
51 } CGIResponseParser; |
50 |
52 |
51 int send_cgi(pblock *pb, Session *sn, Request *rq); |
53 int send_cgi(pblock *pb, Session *sn, Request *rq); |
52 |
54 |
53 char** cgi_add_vars(char **env, Session *sn, Request *rq); |
55 char** cgi_add_vars(char **env, Session *sn, Request *rq); |
54 |
56 |
55 int cgi_start(CGIProcess *p, char *path, char *const argv[], char *const envp[]); |
57 int cgi_start(CGIProcess *p, char *path, char *const argv[], char *const envp[]); |
56 |
58 |
57 CGIResponseParser* cgi_parser_new(Session *sn, Request *rq); |
59 CGIResponseParser* cgi_parser_new(Session *sn, Request *rq); |
|
60 void cgi_parser_free(CGIResponseParser *parser); |
58 int cgi_parse_response(CGIResponseParser *parser, char *buf, size_t len, size_t *bpos); |
61 int cgi_parse_response(CGIResponseParser *parser, char *buf, size_t len, size_t *bpos); |
59 |
62 |
60 #ifdef __cplusplus |
63 #ifdef __cplusplus |
61 } |
64 } |
62 #endif |
65 #endif |