2
0
Fork 0
lighttpd2/src/tests.c

61 lines
1.1 KiB
C
Raw Normal View History

2008-07-08 16:51:03 +00:00
#include <stdio.h>
#include "base.h"
#include "log.h"
#include "http_request_parser.h"
2008-07-08 17:23:12 +00:00
#include "config_parser.h"
int request_test() {
chunkqueue *cq;
2008-08-05 15:08:32 +00:00
request req;
handler_t res;
cq = chunkqueue_new();
2008-08-05 15:08:32 +00:00
request_init(&req, cq);
chunkqueue_append_mem(cq, CONST_STR_LEN(
"GET / HTTP/1.1\r\n"
2008-08-04 22:25:42 +00:00
"Host: www.example.com\r\n"
"\r\n"
2008-08-04 22:25:42 +00:00
"abc"
));
2008-08-05 15:08:32 +00:00
res = http_request_parse(NULL, NULL, &req.parser_ctx);
if (res != HANDLER_GO_ON) {
fprintf(stderr, "Parser return %i", res);
}
2008-08-05 15:08:32 +00:00
assert(req.http_method == HTTP_METHOD_GET);
2008-08-04 22:25:42 +00:00
assert(cq->length == 3);
2008-08-05 15:08:32 +00:00
request_clear(&req);
chunkqueue_free(cq);
2008-08-04 22:25:42 +00:00
return res == HANDLER_GO_ON ? 0 : 1;
}
int main() {
server *srv;
2008-07-08 16:51:03 +00:00
2008-07-25 20:38:42 +00:00
guint32 ip, netmask;
assert(parse_ipv4("10.0.3.8/24", &ip, &netmask));
printf("parsed ip: %s\n", inet_ntoa(*(struct in_addr*) &ip));
printf("parsed netmask: %s\n", inet_ntoa(*(struct in_addr*) &netmask));
guint8 ipv6[16];
guint network;
GString *s;
assert(parse_ipv6("::ffff:192.168.0.1/80", ipv6, &network));
s = ipv6_tostring(ipv6);
printf("parsed ipv6: %s/%u\n", s->str, network);
2008-08-04 22:25:42 +00:00
request_test();
2008-07-25 20:38:42 +00:00
return 0;
srv = server_new();
2008-08-04 22:25:42 +00:00
return 0;
}