diff options
| author | Indrajith K L | 2022-12-03 17:00:20 +0530 | 
|---|---|---|
| committer | Indrajith K L | 2022-12-03 17:00:20 +0530 | 
| commit | f5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch) | |
| tree | 2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/old/examples/pico | |
| download | cli-tools-windows-master.tar.gz cli-tools-windows-master.tar.bz2 cli-tools-windows-master.zip  | |
Diffstat (limited to 'v_windows/v/old/examples/pico')
| -rw-r--r-- | v_windows/v/old/examples/pico/pico.v | 52 | 
1 files changed, 52 insertions, 0 deletions
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() +}  | 
