Mercurial
diff seobeo/seobeo.h @ 175:71ad34a8bc9a hg-web
[HgWeb] Can stream hg response now. Added react page for hg web since we use json anyway.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 20 Jan 2026 06:06:47 -0800 |
| parents | 827c6ac504cd |
| children | 8cf4ec5e2191 |
line wrap: on
line diff
--- a/seobeo/seobeo.h Mon Jan 19 18:59:23 2026 -0800 +++ b/seobeo/seobeo.h Tue Jan 20 06:06:47 2026 -0800 @@ -325,16 +325,20 @@ extern void Seobeo_WebSocket_Server_Connection_Close(Seobeo_WebSocket_Server_Connection *p_conn, uint16 code, const char *reason); /* Initialize the router system (called automatically by Seobeo_Web_Server_Start) */ -extern void Seobeo_Router_Init(); +extern void Seobeo_Router_Init(); /* Register an API route handler. Call before starting server. */ -extern void Seobeo_Router_Register(const char *method, const char *path_pattern, Seobeo_Route_Handler handler); +extern void Seobeo_Router_Register(const char *method, const char *path_pattern, Seobeo_Route_Handler handler); +/* Register a streaming route handler. Handler receives client handle for direct streaming. */ +extern void Seobeo_Router_Register_Stream(const char *method, const char *path_pattern, Seobeo_Stream_Handler handler); /* Clean up router resources */ -extern void Seobeo_Router_Destroy(); +extern void Seobeo_Router_Destroy(); /* Find matching route handler (internal use) */ -extern Seobeo_Route_Handler Seobeo_Router_Find_Handler(const char *method, const char *path, Seobeo_Request_Entry **pp_request_map, Dowa_Arena *p_arena); +extern Seobeo_Route_Handler Seobeo_Router_Find_Handler(const char *method, const char *path, Seobeo_Request_Entry **pp_request_map, Dowa_Arena *p_arena); /* Send HTTP response from response map (internal use) */ -extern void Seobeo_Router_Send_Response(Seobeo_Handle *p_handle, Seobeo_Request_Entry *p_response_map, Dowa_Arena *p_arena); -extern char *Seobeo_Web_LoadFile(const char *file_path, size_t *p_file_size); +extern void Seobeo_Router_Send_Response(Seobeo_Handle *p_handle, Seobeo_Request_Entry *p_response_map, Dowa_Arena *p_arena); +extern char *Seobeo_Web_LoadFile(const char *file_path, size_t *p_file_size); +extern Seobeo_Stream_Handler Seobeo_Router_Find_Stream_Handler(const char *method, const char *path, Seobeo_Request_Entry **pp_request_map, Dowa_Arena *p_arena); + // --- Helper functions --- // /* Destroy handle. It will handle all NULL poointers. */