adamc@853: #ifndef REQUEST_H adamc@853: #define REQUEST_H adamc@853: adamc@853: #include adamc@853: adamc@853: #include "types.h" adamc@853: adamc@853: typedef struct uw_rc *uw_request_context; adamc@853: adamc@1094: void uw_request_init(uw_app *app, void *logger_data, uw_logger log_error, uw_logger log_debug); adamc@853: void uw_sign(const char *in, char *out); adamc@853: adamc@853: uw_request_context uw_new_request_context(void); adamc@853: void uw_free_request_context(uw_request_context); adamc@853: adamc@854: request_result uw_request(uw_request_context, uw_context, adamc@854: char *method, char *path, char *query_string, adamc@854: char *body, size_t body_len, adamc@856: void (*on_success)(uw_context), void (*on_failure)(uw_context), adamc@856: void *logger_data, uw_logger log_error, uw_logger log_debug, adamc@863: int sock, adamc@863: int (*send)(int sockfd, const void *buf, ssize_t len), adamc@863: int (*close)(int fd)); adamc@853: adamc@1094: uw_context uw_request_new_context(uw_app*, void *logger_data, uw_logger log_error, uw_logger log_debug); adamc@856: adamc@856: typedef struct { adamc@1094: uw_app *app; adamc@856: void *logger_data; adamc@856: uw_logger log_error, log_debug; adamc@856: } loggers; adamc@853: adamc@853: void *client_pruner(void *data); adamc@853: adamc@853: #endif