vhs
July 22, 2021 ยท View on GitHub
V HTTP Server
What's this?
vhs is a simple, minimal HTTP server written in V.
Example
import vhs
// server handler's context
struct MyContext {
message string
}
// server handler
struct MyHandler {
context MyContext
f fn (MyContext, vhs.Request, mut &vhs.Response) ?
}
fn (self MyHandler) handle(req vhs.Request, mut res vhs.Response) ? {
h := self.f
h(self.context, req, mut res) ?
}
fn main() {
// prepare handler's context
context := MyContext {
message: 'hello, world!'
}
// create server and set server handler's function giving response
mut server := vhs.create_server(MyHandler{
context: context,
f: fn (ctx MyContext, req vhs.Request, mut res &vhs.Response) ? {
println(req)
message := ctx.message
res.set_header('content-type', 'text/plain')
res.set_header('content-length', '$message.len')
res.write(message)?
res.end()?
}
})
server.listen(8080)
}
Caution
vhs is still in early development!
There are not usefull features yet.
Welcome to contributions!