diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/bsd_socket.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/test/bsd_socket.c b/test/bsd_socket.c index 02ee592..f193e49 100644 --- a/test/bsd_socket.c +++ b/test/bsd_socket.c @@ -104,7 +104,14 @@ void rhRoot(struct picohttpRequest *req) req->response.contenttype = "text/html"; - char http_test[] = "<html><head><title>handling request /</title></head>\n<body><a href=\"/test\">/test</a></body></html>\n"; + char http_test[] = +"<html><head><title>handling request /</title></head><body>\n" +"<a href=\"/test\">/test</a>" +"<form action=\"/upload\" enctype=\"multipart/form-data\" method=\"post\">" +"<label for=\"file\">File: </label><input type=\"file\" name=\"file\"></input>" +"<input type=\"submit\" value=\"Upload\"></input>" +"</form>" +"</body></html>\n"; picohttpResponseWrite(req, sizeof(http_test)-1, http_test); } @@ -120,6 +127,17 @@ void rhTest(struct picohttpRequest *req) } } +void rhUpload(struct picohttpRequest *req) +{ + fprintf(stderr, "handling request /upload%s\n", req->urltail); + + char http_test[] = "handling request /upload"; + picohttpResponseWrite(req, sizeof(http_test)-1, http_test); + if(req->urltail) { + picohttpResponseWrite(req, strlen(req->urltail), req->urltail); + } +} + static uint8_t const favicon_ico[] = { 0x00,0x00,0x01,0x00,0x01,0x00,0x10,0x10,0x10,0x00,0x01,0x00,0x04,0x00,0x28,0x01, 0x00,0x00,0x16,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x20,0x00, @@ -209,6 +227,7 @@ int main(int argc, char *argv[]) struct picohttpURLRoute routes[] = { {"/favicon.ico|", 0, rhFavicon, 0, PICOHTTP_METHOD_GET}, { "/test", 0, rhTest, 16, PICOHTTP_METHOD_GET }, + { "/upload|", 0, rhUpload, 0, PICOHTTP_METHOD_GET }, { "/|", 0, rhRoot, 0, PICOHTTP_METHOD_GET }, { NULL, 0, 0, 0, 0 } }; |