turn server into library + driver code
This commit is contained in:
45
server.c
Normal file
45
server.c
Normal file
@ -0,0 +1,45 @@
|
||||
#include <strops.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "http.h"
|
||||
#include <unistd.h>
|
||||
|
||||
#define PORT 8080
|
||||
|
||||
HTTP_Response* handle_client(HTTP_Request *request) {
|
||||
ssize_t bytes_written;
|
||||
|
||||
char *response = "HTTP/1.1 200 \r\n\r\n";
|
||||
bytes_written = write(request->client_sock, response, strops_length(response));
|
||||
if (bytes_written != strops_length(response)) {
|
||||
fprintf(stderr, "Incomplete write\n");
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int ret;
|
||||
int server;
|
||||
server = http_init(PORT, 3);
|
||||
if (server == -1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
HTTP_Request *request;
|
||||
while(1) {
|
||||
request = http_accept(server);
|
||||
if (request == NULL) {
|
||||
break;
|
||||
}
|
||||
handle_client(request);
|
||||
close(request->client_sock);
|
||||
free(request);
|
||||
break;
|
||||
}
|
||||
|
||||
close(server);
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user