Files
aboba/routes.h
2025-06-18 00:44:18 +02:00

39 lines
855 B
C

#ifndef ROUTES_H_
#define ROUTES_H_
#include "gebs/gebs.h"
#include "mongoose/mongoose.h"
typedef struct {
int status_code;
NString_List headers;
String_Builder body;
} Route_Result;
typedef struct {
struct mg_mgr *mgr;
ulong conn_id;
struct mg_str message;
} Route_Thread_Data;
typedef void (*Route_Handler)(struct mg_http_message *msg, Route_Result *result, void *context_data);
typedef struct {
char *key; // path
Route_Handler value;
void *context_data;
} Route;
#define ROUTE_HANDLER(name) void route_##name(struct mg_http_message *msg, Route_Result *result, void *context_data)
ROUTE_HANDLER(page_not_found);
ROUTE_HANDLER(simple_css);
ROUTE_HANDLER(favicon);
ROUTE_HANDLER(hotreload_js);
ROUTE_HANDLER(home);
ROUTE_HANDLER(build_id);
ROUTE_HANDLER(generic_blog);
ROUTE_HANDLER(blog);
#endif // ROUTES_H_