v / examples / veb_orm_jwt / main.v
36 lines · 26 sloc · 590 bytes · b474aa0faf8d055aaced80ed0687ac354d0864a0
Raw
1module main
2
3import veb
4import databases
5
6const http_port = 8081
7
8pub struct Context {
9 veb.Context
10}
11
12struct App {
13 veb.StaticHandler
14}
15
16pub fn (app &App) before_request(mut ctx Context) {
17 println('[veb] ${ctx.req.method} ${ctx.req.url}')
18}
19
20fn main() {
21 mut db := databases.create_db_connection() or { panic(err) }
22
23 sql db {
24 create table User
25 } or { panic('error on create table: ${err}') }
26
27 db.close() or { panic(err) }
28
29 mut app := &App{}
30 veb.run[App, Context](mut app, http_port)
31}
32
33@['/'; get]
34pub fn (mut app App) ping(mut ctx Context) veb.Result {
35 return ctx.text('ping')
36}
37