v / examples
Raw file | 38 loc (34 sloc) | 596 bytes | Latest commit hash f6844e976
1module main
2
3import net.http { CommonHeader, Request, Response, Server }
4
5struct ExampleHandler {}
6
7fn (h ExampleHandler) handle(req Request) Response {
8 mut res := Response{
9 header: http.new_header_from_map({
10 CommonHeader.content_type: 'text/plain'
11 })
12 }
13 mut status_code := 200
14 res.body = match req.url {
15 '/foo' {
16 'bar\n'
17 }
18 '/hello' {
19 'world\n'
20 }
21 '/' {
22 'foo\nhello\n'
23 }
24 else {
25 status_code = 404
26 'Not found\n'
27 }
28 }
29 res.status_code = status_code
30 return res
31}
32
33fn main() {
34 mut server := Server{
35 handler: ExampleHandler{}
36 }
37 server.listen_and_serve()
38}