diff options
Diffstat (limited to 'v_windows/v/examples/vweb/vweb_example.v')
-rw-r--r-- | v_windows/v/examples/vweb/vweb_example.v | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/v_windows/v/examples/vweb/vweb_example.v b/v_windows/v/examples/vweb/vweb_example.v new file mode 100644 index 0000000..f26726c --- /dev/null +++ b/v_windows/v/examples/vweb/vweb_example.v @@ -0,0 +1,54 @@ +module main + +import vweb +import rand + +const ( + port = 8082 +) + +struct App { + vweb.Context +mut: + state shared State +} + +struct State { +mut: + cnt int +} + +fn main() { + println('vweb example') + vweb.run(&App{}, port) +} + +['/users/:user'] +pub fn (mut app App) user_endpoint(user string) vweb.Result { + id := rand.intn(100) + return app.json('{"$user": $id}') +} + +pub fn (mut app App) index() vweb.Result { + lock app.state { + app.state.cnt++ + } + show := true + hello := 'Hello world from vweb' + numbers := [1, 2, 3] + return $vweb.html() +} + +pub fn (mut app App) show_text() vweb.Result { + return app.text('Hello world from vweb') +} + +pub fn (mut app App) cookie() vweb.Result { + app.set_cookie(name: 'cookie', value: 'test') + return app.text('Response Headers\n$app.header') +} + +[post] +pub fn (mut app App) post() vweb.Result { + return app.text('Post body: $app.req.data') +} |