Files
aboba/routes.h
2025-06-22 15:32:13 +02:00

40 lines
1.1 KiB
C

#ifndef ROUTES_H_
#define ROUTES_H_
#include "gebs/gebs.h"
#include "mongoose/mongoose.h"
typedef struct {
enum {
ROUTE_RESULT_DYNAMIC,
ROUTE_RESULT_STATIC,
} type;
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;
#if MY_DEBUG
void route_build_id(struct mg_http_message *msg, Route_Result *result, void *context_data);
#endif
void route_page_not_found(struct mg_http_message *msg, Route_Result *result, void *context_data);
void route_home(struct mg_http_message *msg, Route_Result *result, void *context_data);
void route_generic_blog(struct mg_http_message *msg, Route_Result *result, void *context_data);
void route_blog(struct mg_http_message *msg, Route_Result *result, void *context_data);
#endif // ROUTES_H_