mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
net.http: add a close method to immediatly close the listener of a started http.Server, add more tests (#11248)
This commit is contained in:
28
examples/http_server.v
Normal file
28
examples/http_server.v
Normal file
@ -0,0 +1,28 @@
|
||||
module main
|
||||
|
||||
import net.http { CommonHeader, Request, Response, Server }
|
||||
|
||||
struct ExampleHandler {}
|
||||
|
||||
fn (h ExampleHandler) handle(req Request) Response {
|
||||
mut res := Response{
|
||||
header: http.new_header_from_map({
|
||||
CommonHeader.content_type: 'text/plain'
|
||||
})
|
||||
}
|
||||
res.text = match req.url {
|
||||
'/foo' { 'bar\n' }
|
||||
'/hello' { 'world\n' }
|
||||
'/' { 'foo\nhello\n' }
|
||||
else { 'Not found\n' }
|
||||
}
|
||||
res.status_code = if res.text == 'Not found' { 404 } else { 200 }
|
||||
return res
|
||||
}
|
||||
|
||||
fn main() {
|
||||
mut server := Server{
|
||||
handler: ExampleHandler{}
|
||||
}
|
||||
server.listen_and_serve() ?
|
||||
}
|
Reference in New Issue
Block a user