You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
![]()
15 years ago
|
#include <stdio.h>
|
||
|
|
||
15 years ago
|
|
||
15 years ago
|
#include <lighttpd/base.h>
|
||
15 years ago
|
|
||
15 years ago
|
#include <lighttpd/config_parser.h>
|
||
15 years ago
|
|
||
|
int request_test() {
|
||
14 years ago
|
liChunkQueue *cq;
|
||
|
liRequest req;
|
||
|
liHandlerResult res;
|
||
15 years ago
|
|
||
14 years ago
|
cq = li_chunkqueue_new();
|
||
|
li_request_init(&req, cq);
|
||
15 years ago
|
|
||
14 years ago
|
li_chunkqueue_append_mem(cq, CONST_STR_LEN(
|
||
15 years ago
|
"GET / HTTP/1.1\r\n"
|
||
15 years ago
|
"Host: www.example.com\r\n"
|
||
15 years ago
|
"\r\n"
|
||
15 years ago
|
"abc"
|
||
15 years ago
|
));
|
||
|
|
||
14 years ago
|
res = li_http_request_parse(NULL, NULL, &req.parser_ctx);
|
||
14 years ago
|
if (res != LI_HANDLER_GO_ON) {
|
||
15 years ago
|
fprintf(stderr, "Parser return %i", res);
|
||
15 years ago
|
}
|
||
|
|
||
14 years ago
|
assert(req.http_method == LI_HTTP_METHOD_GET);
|
||
15 years ago
|
assert(cq->length == 3);
|
||
|
|
||
14 years ago
|
li_request_clear(&req);
|
||
|
li_chunkqueue_free(cq);
|
||
15 years ago
|
|
||
14 years ago
|
return res == LI_HANDLER_GO_ON ? 0 : 1;
|
||
15 years ago
|
}
|
||
|
|
||
|
int main() {
|
||
14 years ago
|
liServer *srv;
|
||
![]()
15 years ago
|
|
||
15 years ago
|
guint32 ip, netmask;
|
||
14 years ago
|
assert(li_parse_ipv4("10.0.3.8/24", &ip, &netmask, NULL));
|
||
15 years ago
|
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;
|
||
14 years ago
|
assert(li_parse_ipv6("::ffff:192.168.0.1/80", ipv6, &network, NULL));
|
||
|
s = li_ipv6_tostring(ipv6);
|
||
15 years ago
|
printf("parsed ipv6: %s/%u\n", s->str, network);
|
||
|
|
||
15 years ago
|
request_test();
|
||
|
|
||
15 years ago
|
return 0;
|
||
|
|
||
14 years ago
|
srv = li_server_new();
|
||
15 years ago
|
return 0;
|
||
15 years ago
|
}
|