27 #ifndef EVENT2_HTTP_H_INCLUDED_
28 #define EVENT2_HTTP_H_INCLUDED_
32 #include <event2/visibility.h>
57 #define HTTP_NOCONTENT 204
58 #define HTTP_MOVEPERM 301
59 #define HTTP_MOVETEMP 302
60 #define HTTP_NOTMODIFIED 304
61 #define HTTP_BADREQUEST 400
62 #define HTTP_NOTFOUND 404
63 #define HTTP_BADMETHOD 405
64 #define HTTP_ENTITYTOOLARGE 413
65 #define HTTP_EXPECTATIONFAILED 417
66 #define HTTP_INTERNAL 500
67 #define HTTP_NOTIMPLEMENTED 501
68 #define HTTP_SERVUNAVAIL 503
235 const char *content_type);
379 #define EVHTTP_SERVER_LINGERING_CLOSE 0x0001
419 const char *reason,
struct evbuffer *databuf);
493 EVHTTP_REQ_GET = 1 << 0,
494 EVHTTP_REQ_POST = 1 << 1,
495 EVHTTP_REQ_HEAD = 1 << 2,
496 EVHTTP_REQ_PUT = 1 << 3,
497 EVHTTP_REQ_DELETE = 1 << 4,
498 EVHTTP_REQ_OPTIONS = 1 << 5,
499 EVHTTP_REQ_TRACE = 1 << 6,
500 EVHTTP_REQ_CONNECT = 1 << 7,
501 EVHTTP_REQ_PATCH = 1 << 8
647 const char *address, ev_uint16_t port);
657 #define EVHTTP_CON_REUSE_CONNECTED_ADDR 0x0008
661 #define EVHTTP_CON_READ_ON_WRITE_ERROR 0x0010
663 #define EVHTTP_CON_LINGERING_CLOSE 0x0020
665 #define EVHTTP_CON_PUBLIC_FLAGS_END 0x100000
706 ev_ssize_t new_max_headers_size);
710 ev_ssize_t new_max_body_size);
727 const char *address);
737 int timeout_in_secs);
743 const struct timeval *tv);
751 const struct timeval *tv);
766 char **address, ev_uint16_t *port);
775 const struct sockaddr*
828 int evhttp_request_get_response_code(
const struct evhttp_request *req);
830 const char * evhttp_request_get_response_code_line(
const struct evhttp_request *req);
887 int evhttp_add_header(
struct evkeyvalq *headers,
const char *key,
const char *value);
929 char *
evhttp_uriencode(
const char *str, ev_ssize_t size,
int space_to_plus);
1006 EVENT2_EXPORT_SYMBOL
1020 EVENT2_EXPORT_SYMBOL
1026 EVENT2_EXPORT_SYMBOL
1033 EVENT2_EXPORT_SYMBOL
1038 EVENT2_EXPORT_SYMBOL
1044 EVENT2_EXPORT_SYMBOL
1058 EVENT2_EXPORT_SYMBOL
1061 EVENT2_EXPORT_SYMBOL
1064 EVENT2_EXPORT_SYMBOL
1068 EVENT2_EXPORT_SYMBOL
1072 EVENT2_EXPORT_SYMBOL
1077 EVENT2_EXPORT_SYMBOL
1081 EVENT2_EXPORT_SYMBOL
1085 EVENT2_EXPORT_SYMBOL
1089 EVENT2_EXPORT_SYMBOL
1093 EVENT2_EXPORT_SYMBOL
1098 EVENT2_EXPORT_SYMBOL
1103 EVENT2_EXPORT_SYMBOL
1140 EVENT2_EXPORT_SYMBOL
1156 #define EVHTTP_URI_NONCONFORMANT 0x01
1159 EVENT2_EXPORT_SYMBOL
1169 EVENT2_EXPORT_SYMBOL
1185 EVENT2_EXPORT_SYMBOL
EVENT2_EXPORT_SYMBOL void evhttp_send_reply_end(struct evhttp_request *req)
Definition: http.c:2926
EVENT2_EXPORT_SYMBOL const char * evhttp_request_get_uri(const struct evhttp_request *req)
Definition: http.c:4124
evhttp_request_error
Definition: http.h:574
@ EVREQ_HTTP_BUFFER_ERROR
Definition: http.h:590
@ EVREQ_HTTP_TIMEOUT
Definition: http.h:578
@ EVREQ_HTTP_REQUEST_CANCEL
Definition: http.h:594
@ EVREQ_HTTP_DATA_TOO_LONG
Definition: http.h:598
@ EVREQ_HTTP_EOF
Definition: http.h:582
@ EVREQ_HTTP_INVALID_HEADER
Definition: http.h:586
EVENT2_EXPORT_SYMBOL struct bufferevent * evhttp_connection_get_bufferevent(struct evhttp_connection *evcon)
Definition: http.c:2443
EVENT2_EXPORT_SYMBOL int evhttp_add_header(struct evkeyvalq *headers, const char *key, const char *value)
Definition: http.c:1969
EVENT2_EXPORT_SYMBOL int evhttp_connection_set_flags(struct evhttp_connection *evcon, int flags)
Definition: http.c:2467
EVENT2_EXPORT_SYMBOL void evhttp_send_reply(struct evhttp_request *req, int code, const char *reason, struct evbuffer *databuf)
Definition: http.c:2858
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_local_address(struct evhttp_connection *evcon, const char *address)
Definition: http.c:1284
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_userinfo(struct evhttp_uri *uri, const char *userinfo)
Definition: http.c:5070
EVENT2_EXPORT_SYMBOL void evhttp_free(struct evhttp *http)
Definition: http.c:3731
EVENT2_EXPORT_SYMBOL struct evhttp_bound_socket * evhttp_bind_listener(struct evhttp *http, struct evconnlistener *listener)
Definition: http.c:3632
EVENT2_EXPORT_SYMBOL const char * evhttp_uri_get_host(const struct evhttp_uri *uri)
Definition: http.c:5022
EVENT2_EXPORT_SYMBOL void evhttp_set_max_headers_size(struct evhttp *http, ev_ssize_t max_headers_size)
Definition: http.c:3884
EVENT2_EXPORT_SYMBOL int evhttp_uri_get_port(const struct evhttp_uri *uri)
Definition: http.c:5027
EVENT2_EXPORT_SYMBOL void evhttp_set_allowed_methods(struct evhttp *http, ev_uint16_t methods)
Definition: http.c:3908
EVENT2_EXPORT_SYMBOL char * evhttp_htmlescape(const char *html)
Definition: http.c:265
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_retries(struct evhttp_connection *evcon, int retry_max)
Definition: http.c:2535
EVENT2_EXPORT_SYMBOL struct evhttp_connection * evhttp_request_get_connection(struct evhttp_request *req)
Definition: http.c:4079
EVENT2_EXPORT_SYMBOL void evhttp_connection_get_peer(struct evhttp_connection *evcon, char **address, ev_uint16_t *port)
Definition: http.c:2550
EVENT2_EXPORT_SYMBOL const char * evhttp_uri_get_query(const struct evhttp_uri *uri)
Definition: http.c:5037
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_family(struct evhttp_connection *evcon, int family)
Definition: http.c:2461
EVENT2_EXPORT_SYMBOL int evhttp_bind_socket(struct evhttp *http, const char *address, ev_uint16_t port)
Definition: http.c:3549
EVENT2_EXPORT_SYMBOL void evhttp_send_reply_chunk(struct evhttp_request *req, struct evbuffer *databuf)
Definition: http.c:2921
EVENT2_EXPORT_SYMBOL struct evkeyvalq * evhttp_request_get_input_headers(struct evhttp_request *req)
Definition: http.c:4194
EVENT2_EXPORT_SYMBOL void evhttp_request_set_header_cb(struct evhttp_request *, int(*cb)(struct evhttp_request *, void *))
Definition: http.c:4098
EVENT2_EXPORT_SYMBOL const char * evhttp_request_get_host(struct evhttp_request *req)
Definition: http.c:4139
EVENT2_EXPORT_SYMBOL void evhttp_set_timeout_tv(struct evhttp *http, const struct timeval *tv)
Definition: http.c:3860
EVENT2_EXPORT_SYMBOL struct evconnlistener * evhttp_bound_socket_get_listener(struct evhttp_bound_socket *bound)
Definition: http.c:3654
EVENT2_EXPORT_SYMBOL struct evhttp_uri * evhttp_uri_new(void)
Definition: http.c:4492
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_port(struct evhttp_uri *uri, int port)
Definition: http.c:5094
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_scheme(struct evhttp_uri *uri, const char *scheme)
Definition: http.c:5061
evhttp_request_kind
Definition: http.h:505
EVENT2_EXPORT_SYMBOL void evhttp_send_error(struct evhttp_request *req, int error, const char *reason)
Definition: http.c:2801
EVENT2_EXPORT_SYMBOL struct evhttp * evhttp_connection_get_server(struct evhttp_connection *evcon)
Definition: http.c:2449
EVENT2_EXPORT_SYMBOL void evhttp_set_max_body_size(struct evhttp *http, ev_ssize_t max_body_size)
Definition: http.c:3893
EVENT2_EXPORT_SYMBOL const char * evhttp_uri_get_fragment(const struct evhttp_uri *uri)
Definition: http.c:5042
EVENT2_EXPORT_SYMBOL void evhttp_set_gencb(struct evhttp *http, void(*cb)(struct evhttp_request *, void *), void *arg)
Definition: http.c:3963
EVENT2_EXPORT_SYMBOL void evhttp_set_default_content_type(struct evhttp *http, const char *content_type)
Definition: http.c:3902
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_path(struct evhttp_uri *uri, const char *path)
Definition: http.c:5105
EVENT2_EXPORT_SYMBOL void evhttp_del_accept_socket(struct evhttp *http, struct evhttp_bound_socket *bound_socket)
Definition: http.c:3660
EVENT2_EXPORT_SYMBOL evutil_socket_t evhttp_bound_socket_get_fd(struct evhttp_bound_socket *bound_socket)
Definition: http.c:3648
EVENT2_EXPORT_SYMBOL struct evbuffer * evhttp_request_get_input_buffer(struct evhttp_request *req)
Definition: http.c:4206
EVENT2_EXPORT_SYMBOL struct evhttp * evhttp_new(struct event_base *base)
Definition: http.c:3698
EVENT2_EXPORT_SYMBOL struct evhttp_bound_socket * evhttp_bind_socket_with_handle(struct evhttp *http, const char *address, ev_uint16_t port)
Definition: http.c:3559
EVENT2_EXPORT_SYMBOL struct event_base * evhttp_connection_get_base(struct evhttp_connection *req)
Definition: http.c:4085
EVENT2_EXPORT_SYMBOL void evhttp_uri_free(struct evhttp_uri *uri)
Definition: http.c:4929
EVENT2_EXPORT_SYMBOL struct evhttp_request * evhttp_request_new(void(*cb)(struct evhttp_request *, void *), void *arg)
Definition: http.c:3983
EVENT2_EXPORT_SYMBOL struct evhttp_bound_socket * evhttp_accept_socket_with_handle(struct evhttp *http, evutil_socket_t fd)
Definition: http.c:3609
EVENT2_EXPORT_SYMBOL int evhttp_remove_virtual_host(struct evhttp *http, struct evhttp *vhost)
Definition: http.c:3796
EVENT2_EXPORT_SYMBOL char * evhttp_decode_uri(const char *uri)
Definition: http.c:3209
EVENT2_EXPORT_SYMBOL int evhttp_remove_server_alias(struct evhttp *http, const char *alias)
Definition: http.c:3830
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_fragment(struct evhttp_uri *uri, const char *fragment)
Definition: http.c:5122
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_host(struct evhttp_uri *uri, const char *host)
Definition: http.c:5078
EVENT2_EXPORT_SYMBOL void evhttp_send_reply_start(struct evhttp_request *req, int code, const char *reason)
Definition: http.c:2867
EVENT2_EXPORT_SYMBOL void evhttp_request_free(struct evhttp_request *req)
Definition: http.c:4033
EVENT2_EXPORT_SYMBOL void evhttp_cancel_request(struct evhttp_request *req)
Definition: http.c:2704
EVENT2_EXPORT_SYMBOL void evhttp_request_set_on_complete_cb(struct evhttp_request *req, void(*cb)(struct evhttp_request *, void *), void *cb_arg)
Definition: http.c:4112
EVENT2_EXPORT_SYMBOL char * evhttp_uridecode(const char *uri, int decode_plus, size_t *size_out)
Definition: http.c:3226
EVENT2_EXPORT_SYMBOL char * evhttp_encode_uri(const char *str)
Definition: http.c:3164
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_local_port(struct evhttp_connection *evcon, ev_uint16_t port)
Definition: http.c:1295
EVENT2_EXPORT_SYMBOL int evhttp_make_request(struct evhttp_connection *evcon, struct evhttp_request *req, enum evhttp_cmd_type type, const char *uri)
Definition: http.c:2648
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_timeout(struct evhttp_connection *evcon, int timeout_in_secs)
Definition: http.c:2494
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_initial_retry_tv(struct evhttp_connection *evcon, const struct timeval *tv)
Definition: http.c:2523
EVENT2_EXPORT_SYMBOL void evhttp_request_set_error_cb(struct evhttp_request *, void(*)(enum evhttp_request_error, void *))
Definition: http.c:4105
EVENT2_EXPORT_SYMBOL int evhttp_request_is_owned(struct evhttp_request *req)
Definition: http.c:4073
EVENT2_EXPORT_SYMBOL void evhttp_send_reply_chunk_with_cb(struct evhttp_request *, struct evbuffer *, void(*cb)(struct evhttp_connection *, void *), void *arg)
Definition: http.c:2894
EVENT2_EXPORT_SYMBOL int evhttp_parse_query_str(const char *uri, struct evkeyvalq *headers)
Definition: http.c:3329
EVENT2_EXPORT_SYMBOL void evhttp_uri_set_flags(struct evhttp_uri *uri, unsigned flags)
Definition: http.c:4501
EVENT2_EXPORT_SYMBOL void evhttp_request_own(struct evhttp_request *req)
Definition: http.c:4067
EVENT2_EXPORT_SYMBOL int evhttp_uri_set_query(struct evhttp_uri *uri, const char *query)
Definition: http.c:5114
EVENT2_EXPORT_SYMBOL const char * evhttp_uri_get_userinfo(const struct evhttp_uri *uri)
Definition: http.c:5017
EVENT2_EXPORT_SYMBOL enum evhttp_cmd_type evhttp_request_get_command(const struct evhttp_request *req)
Definition: http.c:4177
EVENT2_EXPORT_SYMBOL void evhttp_connection_free(struct evhttp_connection *evcon)
Definition: http.c:1221
EVENT2_EXPORT_SYMBOL void evhttp_set_timeout(struct evhttp *http, int timeout_in_secs)
Definition: http.c:3847
EVENT2_EXPORT_SYMBOL int evhttp_set_flags(struct evhttp *http, int flags)
Definition: http.c:3869
EVENT2_EXPORT_SYMBOL struct evhttp_connection * evhttp_connection_base_bufferevent_new(struct event_base *base, struct evdns_base *dnsbase, struct bufferevent *bev, const char *address, ev_uint16_t port)
Definition: http.c:2379
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_timeout_tv(struct evhttp_connection *evcon, const struct timeval *tv)
Definition: http.c:2508
EVENT2_EXPORT_SYMBOL struct evhttp_uri * evhttp_uri_parse(const char *source_uri)
Definition: http.c:4765
EVENT2_EXPORT_SYMBOL const char * evhttp_uri_get_path(const struct evhttp_uri *uri)
Definition: http.c:5032
EVENT2_EXPORT_SYMBOL const char * evhttp_uri_get_scheme(const struct evhttp_uri *uri)
Definition: http.c:5012
EVENT2_EXPORT_SYMBOL struct evhttp_uri * evhttp_uri_parse_with_flags(const char *source_uri, unsigned flags)
Definition: http.c:4771
evhttp_cmd_type
Definition: http.h:492
EVENT2_EXPORT_SYMBOL int evhttp_remove_header(struct evkeyvalq *headers, const char *key)
Definition: http.c:1932
EVENT2_EXPORT_SYMBOL void evhttp_request_set_chunked_cb(struct evhttp_request *, void(*cb)(struct evhttp_request *, void *))
Definition: http.c:4091
EVENT2_EXPORT_SYMBOL struct evkeyvalq * evhttp_request_get_output_headers(struct evhttp_request *req)
Definition: http.c:4200
EVENT2_EXPORT_SYMBOL void evhttp_foreach_bound_socket(struct evhttp *http, evhttp_bound_socket_foreach_fn *function, void *argument)
Definition: http.c:3598
EVENT2_EXPORT_SYMBOL void evhttp_clear_headers(struct evkeyvalq *headers)
Definition: http.c:1912
EVENT2_EXPORT_SYMBOL int evhttp_del_cb(struct evhttp *, const char *)
Definition: http.c:3944
EVENT2_EXPORT_SYMBOL int evhttp_add_virtual_host(struct evhttp *http, const char *pattern, struct evhttp *vhost)
Definition: http.c:3778
EVENT2_EXPORT_SYMBOL char * evhttp_uriencode(const char *str, ev_ssize_t size, int space_to_plus)
Definition: http.c:3110
EVENT2_EXPORT_SYMBOL int evhttp_parse_query(const char *uri, struct evkeyvalq *headers)
Definition: http.c:3324
EVENT2_EXPORT_SYMBOL char * evhttp_uri_join(struct evhttp_uri *uri, char *buf, size_t limit)
Definition: http.c:4948
EVENT2_EXPORT_SYMBOL const struct sockaddr * evhttp_connection_get_addr(struct evhttp_connection *evcon)
Definition: http.c:2558
EVENT2_EXPORT_SYMBOL void evhttp_set_bevcb(struct evhttp *http, struct bufferevent *(*cb)(struct event_base *, void *), void *arg)
Definition: http.c:3971
EVENT2_EXPORT_SYMBOL struct evbuffer * evhttp_request_get_output_buffer(struct evhttp_request *req)
Definition: http.c:4212
EVENT2_EXPORT_SYMBOL int evhttp_accept_socket(struct evhttp *http, evutil_socket_t fd)
Definition: http.c:3588
EVENT2_EXPORT_SYMBOL struct evhttp_connection * evhttp_connection_base_new(struct event_base *base, struct evdns_base *dnsbase, const char *address, ev_uint16_t port)
Definition: http.c:2455
EVENT2_EXPORT_SYMBOL int evhttp_set_cb(struct evhttp *http, const char *path, void(*cb)(struct evhttp_request *, void *), void *cb_arg)
Definition: http.c:3914
EVENT2_EXPORT_SYMBOL void evhttp_connection_free_on_completion(struct evhttp_connection *evcon)
Definition: http.c:1279
EVENT2_EXPORT_SYMBOL const struct evhttp_uri * evhttp_request_get_evhttp_uri(const struct evhttp_request *req)
Definition: http.c:4131
EVENT2_EXPORT_SYMBOL const char * evhttp_find_header(const struct evkeyvalq *headers, const char *key)
Definition: http.c:1899
EVENT2_EXPORT_SYMBOL int evhttp_add_server_alias(struct evhttp *http, const char *alias)
Definition: http.c:3810
EVENT2_EXPORT_SYMBOL void evhttp_connection_set_closecb(struct evhttp_connection *evcon, void(*)(struct evhttp_connection *, void *), void *)
Definition: http.c:2542
Definition: bufferevent_struct.h:70
Definition: evbuffer-internal.h:80
Definition: listener.c:76
Definition: event-internal.h:208
Definition: http-internal.h:121
Definition: http-internal.h:51
Definition: http_struct.h:57
Definition: http-internal.h:134
#define evutil_socket_t
Definition: util.h:310