Seregon/zftpd

Zero-copy FTP/HTTP Daemon compatible with all POSIX systems

C/11.0 KB/No license
tests/main.c
zftpd / tests / main.c
1/* Simple test harness */
2#include "event_loop.h"
3#include "http_server.h"
4#include <stdio.h>
5#include <signal.h>
6 
7static event_loop_t *g_loop = NULL;
8 
9void sighandler(int sig) {
10 (void)sig;
11 if (g_loop) event_loop_stop(g_loop);
12}
13 
14int main(void) {
15 g_loop = event_loop_create();
16 if (!g_loop) {
17 fprintf(stderr, "Failed to create event loop\n");
18 return 1;
19 }
20
21 http_server_t *http = http_server_create(g_loop, 8888);
22 if (!http) {
23 fprintf(stderr, "Failed to create HTTP server\n");
24 event_loop_destroy(g_loop);
25 return 1;
26 }
27
28 printf("zhttpd test server running on port 8888\n");
29 printf("Open: http://localhost:8888\n");
30 printf("Press Ctrl+C to stop\n\n");
31
32 signal(SIGINT, sighandler);
33
34 event_loop_run(g_loop);
35
36 http_server_destroy(http);
37 event_loop_destroy(g_loop);
38
39 printf("Server stopped\n");
40 return 0;
41}
42