51 lines
808 B
V
51 lines
808 B
V
module main
|
|
|
|
import vweb
|
|
|
|
const (
|
|
port = 8082
|
|
)
|
|
|
|
struct App {
|
|
pub mut:
|
|
vweb vweb.Context // TODO embed
|
|
cnt int
|
|
}
|
|
|
|
fn main() {
|
|
println('vweb example')
|
|
vweb.run<App>(port)
|
|
}
|
|
|
|
pub fn (mut app App) init_once() {
|
|
app.vweb.handle_static('.')
|
|
}
|
|
|
|
pub fn (mut app App) init() {
|
|
}
|
|
|
|
pub fn (mut app App) json_endpoint() vweb.Result {
|
|
return app.vweb.json('{"a": 3}')
|
|
}
|
|
|
|
pub fn (mut app App) index() vweb.Result {
|
|
app.cnt++
|
|
show := true
|
|
// app.vweb.text('Hello world from vweb')
|
|
hello := 'Hello world from vweb'
|
|
numbers := [1, 2, 3]
|
|
return $vweb.html()
|
|
}
|
|
|
|
pub fn (mut app App) text() vweb.Result {
|
|
return app.vweb.text('Hello world from vweb')
|
|
}
|
|
|
|
pub fn (mut app App) cookie() vweb.Result {
|
|
app.vweb.set_cookie({
|
|
name: 'cookie'
|
|
value: 'test'
|
|
})
|
|
return app.vweb.text('Headers: $app.vweb.headers')
|
|
}
|