aboutsummaryrefslogtreecommitdiff
path: root/src/beaker_globals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/beaker_globals.h')
-rw-r--r--src/beaker_globals.h26
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;