2017-01-02 21:48:49 +00:00
|
|
|
#include "serwer.h"
|
2017-01-01 23:03:06 +00:00
|
|
|
#include "help.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
int hello_world(method_t method, const char* host, const char* path, headers_t requestHeaders,
|
|
|
|
headers_t* responseHeaders, stream_t request, stream_t response) {
|
|
|
|
|
|
|
|
fprintf(response, "Hello World!\n");
|
|
|
|
|
|
|
|
return 200;
|
|
|
|
}
|
|
|
|
|
|
|
|
int test(method_t method, const char* host, const char* path, headers_t requestHeaders,
|
|
|
|
headers_t* responseHeaders, stream_t request, stream_t response) {
|
|
|
|
|
2017-01-02 21:36:40 +00:00
|
|
|
fprintf(response, "Method: %s, URI: %s%s\n", ws_method_string(method), host, path);
|
2017-01-01 23:03:06 +00:00
|
|
|
fprintf(response, "Request headers:\n");
|
|
|
|
for (int i = 0; i < requestHeaders.nrfields; i++) {
|
|
|
|
header_t header = requestHeaders.fields[i];
|
|
|
|
fprintf(response, " %s - %s\n", header.key, header.value);
|
|
|
|
}
|
|
|
|
fprintf(response, "\n");
|
|
|
|
|
|
|
|
return 200;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(int argc, char** argv) {
|
|
|
|
help_init(NULL, "test");
|
|
|
|
|
|
|
|
handle_t hello_handle = {
|
2017-01-02 16:39:42 +00:00
|
|
|
.host = ANY,
|
2017-01-01 23:03:06 +00:00
|
|
|
.path = "/world",
|
|
|
|
.handler = &hello_world
|
|
|
|
};
|
|
|
|
handle_t test_handle = {
|
2017-01-02 16:39:42 +00:00
|
|
|
.host = ANY,
|
2017-01-01 23:03:06 +00:00
|
|
|
.path = "/test",
|
|
|
|
.handler = &test
|
|
|
|
};
|
|
|
|
srvoptions_t options = {
|
|
|
|
.mode = LINEAR,
|
|
|
|
.timeout = 30,
|
|
|
|
.maxconnections = 5,
|
|
|
|
.loglevel = LOG_DEBUG
|
|
|
|
};
|
|
|
|
|
2017-01-02 16:39:42 +00:00
|
|
|
webserver_t server = ws_create("test_server", NULL , "8080", stderr, options);
|
2017-01-01 23:03:06 +00:00
|
|
|
|
|
|
|
ws_handle_add(&server, hello_handle);
|
|
|
|
ws_handle_add(&server, test_handle);
|
|
|
|
|
|
|
|
ws_run(&server);
|
|
|
|
}
|