refactor: restructure core module into domain-driven packages with 2672 insertions and 2220 deletions
Build and run rrex2 / build (push) Failing after 41s
Build and run rrex2 / build (push) Failing after 41s
Splits monolithic core module into bounded contexts: identity, billing, and notification domains. Moves entity definitions, repository interfaces, and service implementations into separate packages. Updates import paths across 25 files to align with new package structure. Removes cross-domain coupling by extracting shared value objects into a common package.
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
#include "rmalloc.h"
|
||||
#include "rhttp.h"
|
||||
#include "rtest.h"
|
||||
#include <pthread.h>
|
||||
|
||||
int request_handler(rhttp_request_t *r) {
|
||||
rhttp_send_drain(r->c,
|
||||
"HTTP/1.1 200 OK\r\n"
|
||||
"Content-Length: 3\r\n"
|
||||
"Connection: close\r\n\r\n"
|
||||
"Ok!",
|
||||
0);
|
||||
close(r->c);
|
||||
return 1;
|
||||
}
|
||||
|
||||
rhttp_request_handler_t handler = request_handler;
|
||||
|
||||
void *rhttp_serve_thread(void *port_arg) {
|
||||
int port = *(int *)port_arg;
|
||||
rhttp_serve(rhttp_opt_host, port, 1024, rhttp_opt_request_logging, rhttp_opt_debug, handler, NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
bool do_test = true;
|
||||
int port = 9876;
|
||||
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (!strcmp(argv[i], "--serve")) {
|
||||
printf("rhttp serve mode\n");
|
||||
printf("Handlers available:\n");
|
||||
printf(" - rhttp_root (/)\n");
|
||||
printf(" - rhttp_counter (/counter*)\n");
|
||||
printf(" - rhttp_404 (/*)\n");
|
||||
do_test = false;
|
||||
}
|
||||
if (!strcmp(argv[i], "--quiet")) {
|
||||
rhttp_opt_info = false;
|
||||
rhttp_opt_warn = false;
|
||||
rhttp_opt_request_logging = false;
|
||||
rhttp_opt_debug = false;
|
||||
printf("Quiet mode enabled\n");
|
||||
}
|
||||
if (atoi(argv[i])) {
|
||||
port = atoi(argv[i]);
|
||||
}
|
||||
}
|
||||
if (do_test) {
|
||||
rtest_banner("rhttp");
|
||||
} else {
|
||||
printf("Serving on %s:%d\n", rhttp_opt_host, port);
|
||||
handler = rhttp_default_request_handler;
|
||||
}
|
||||
|
||||
pthread_t st;
|
||||
pthread_create(&st, 0, rhttp_serve_thread, (void *)&port);
|
||||
|
||||
char *response = rhttp_client_get("127.0.0.1", port, "/");
|
||||
|
||||
if (do_test) {
|
||||
rassert(!strcmp(response, "Ok!"));
|
||||
pthread_cancel(st);
|
||||
// cleanup
|
||||
} else {
|
||||
pthread_join(st, NULL);
|
||||
}
|
||||
// rhttp_main(argc, argv);
|
||||
if (do_test)
|
||||
return rtest_end("");
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user