From f5c4671bfbad96bf346bd7e9a21fc4317b4959df Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sat, 3 Dec 2022 17:00:20 +0530 Subject: Adds most of the tools --- v_windows/v/old/examples/pico/pico.v | 52 ++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 v_windows/v/old/examples/pico/pico.v (limited to 'v_windows/v/old/examples/pico/pico.v') diff --git a/v_windows/v/old/examples/pico/pico.v b/v_windows/v/old/examples/pico/pico.v new file mode 100644 index 0000000..8a8a636 --- /dev/null +++ b/v_windows/v/old/examples/pico/pico.v @@ -0,0 +1,52 @@ +import json +import picoev +import picohttpparser + +const ( + port = 8088 +) + +struct Message { + message string +} + +[inline] +fn json_response() string { + msg := Message{ + message: 'Hello, World!' + } + return json.encode(msg) +} + +[inline] +fn hello_response() string { + return 'Hello, World!' +} + +fn callback(data voidptr, req picohttpparser.Request, mut res picohttpparser.Response) { + if picohttpparser.cmpn(req.method, 'GET ', 4) { + if picohttpparser.cmp(req.path, '/t') { + res.http_ok() + res.header_server() + res.header_date() + res.plain() + res.body(hello_response()) + } else if picohttpparser.cmp(req.path, '/j') { + res.http_ok() + res.header_server() + res.header_date() + res.json() + res.body(json_response()) + } else { + res.http_404() + } + } else { + res.http_405() + } + res.end() +} + +fn main() { + println('Starting webserver on http://127.0.0.1:$port/ ...') + picoev.new(port: port, cb: &callback).serve() +} -- cgit v1.2.3