2008-06-30 14:24:29 +00:00
|
|
|
#ifndef _LIGHTTPD_HTTP_REQUEST_PARSER_H_
|
|
|
|
#define _LIGHTTPD_HTTP_REQUEST_PARSER_H_
|
|
|
|
|
|
|
|
struct http_request_ctx;
|
|
|
|
typedef struct http_request_ctx http_request_ctx;
|
|
|
|
|
2008-07-01 18:56:59 +00:00
|
|
|
#include "chunk_parser.h"
|
2008-08-05 15:08:32 +00:00
|
|
|
|
|
|
|
struct request;
|
2008-06-30 14:24:29 +00:00
|
|
|
|
|
|
|
struct http_request_ctx {
|
2008-07-01 18:56:59 +00:00
|
|
|
chunk_parser_ctx chunk_ctx;
|
2008-08-05 15:08:32 +00:00
|
|
|
struct request *request;
|
2008-06-30 14:24:29 +00:00
|
|
|
|
|
|
|
chunk_parser_mark mark;
|
2008-08-04 22:25:42 +00:00
|
|
|
GString *h_key, *h_value;
|
2008-06-30 14:24:29 +00:00
|
|
|
};
|
|
|
|
|
2008-08-05 15:08:32 +00:00
|
|
|
#include "request.h"
|
|
|
|
|
|
|
|
LI_API void http_request_parser_init(http_request_ctx* ctx, request *req, chunkqueue *cq);
|
|
|
|
LI_API void http_request_parser_reset(http_request_ctx* ctx);
|
|
|
|
LI_API void http_request_parser_clear(http_request_ctx *ctx);
|
2008-08-04 22:25:42 +00:00
|
|
|
|
2008-08-05 15:08:32 +00:00
|
|
|
LI_API handler_t http_request_parse(struct server *srv, struct connection *con, http_request_ctx *ctx);
|
2008-07-01 20:07:54 +00:00
|
|
|
|
|
|
|
|
2008-06-30 14:24:29 +00:00
|
|
|
#endif
|