1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

pico.v and dependencies

This commit is contained in:
S-YOU
2020-01-23 11:26:30 +09:00
committed by Alexander Medvednikov
parent 5c6032d272
commit 7b345e207d
19 changed files with 2475 additions and 0 deletions

41
examples/pico/pico.v Normal file
View File

@ -0,0 +1,41 @@
import json
import picoev
import picohttpparser
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!'
}
pub fn callback(req picohttpparser.Request, res mut picohttpparser.Response) {
if picohttpparser.cmpn(req.method, 'GET ', 4) {
if picohttpparser.cmp(req.path, '/t') {
res.http_ok().header_server().header_date().plain().body(hello_response())
}
else if picohttpparser.cmp(req.path, '/j') {
res.http_ok().header_server().header_date().json().body(json_response())
}
else {
res.http_404()
}
}
else {
res.http_405()
}
}
pub fn main() {
picoev.new(8088, &callback).serve()
}