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')
}