diff options
Diffstat (limited to 'src/beaker_globals.h')
| -rw-r--r-- | src/beaker_globals.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/beaker_globals.h b/src/beaker_globals.h index a4a98f0..96d4dcf 100644 --- a/src/beaker_globals.h +++ b/src/beaker_globals.h @@ -5,6 +5,22 @@ #include <stdatomic.h> #include <stddef.h> +#ifndef BEAKER_REQUEST_HEADER_TIMEOUT_MS +#define BEAKER_REQUEST_HEADER_TIMEOUT_MS 5000 +#endif + +#ifndef BEAKER_RESPONSE_WRITE_TIMEOUT_MS +#define BEAKER_RESPONSE_WRITE_TIMEOUT_MS 30000 +#endif + +typedef enum { + BEAKER_REQUEST_READ_OK = 0, + BEAKER_REQUEST_READ_CLOSED, + BEAKER_REQUEST_READ_TIMEOUT, + BEAKER_REQUEST_READ_TOO_LARGE, + BEAKER_REQUEST_READ_ERROR, +} BeakerRequestReadResult; + extern RouteHandler handlers[MAX_HANDLERS]; extern int handler_count; @@ -33,6 +49,16 @@ void beaker_log_request(const char *remote_addr, const char *method, const char *path, int status, size_t response_size, double duration_ms); +BeakerRequestReadResult beaker_read_request_headers(int socket, char *buffer, + size_t buffer_size, + size_t *bytes_read); + +int beaker_configure_client_socket(int socket); + +int beaker_send_all(int socket, const void *buffer, size_t length); + +void beaker_reset_write_deadline(void); + extern Locale *locales; extern int locale_count; |
