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:

committed by
Alexander Medvednikov

parent
5c6032d272
commit
7b345e207d
41
examples/pico/pico.v
Normal file
41
examples/pico/pico.v
Normal 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()
|
||||
}
|
Reference in New Issue
Block a user