v/examples/pico/pico.v

51 lines
810 B
V
Raw Normal View History

2020-01-23 03:26:30 +01:00
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!'
}
2020-06-04 10:35:40 +02:00
fn callback(req picohttpparser.Request, mut res picohttpparser.Response) {
2020-01-23 03:26:30 +01:00
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())
2020-01-23 03:26:30 +01:00
}
else if picohttpparser.cmp(req.path, '/j') {
res.http_ok()
res.header_server()
res.header_date()
res.json()
res.body(json_response())
2020-01-23 03:26:30 +01:00
}
else {
res.http_404()
}
}
else {
res.http_405()
}
}
2020-04-17 21:41:54 +02:00
fn main() {
2020-01-23 03:26:30 +01:00
picoev.new(8088, &callback).serve()
}