mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
vweb: more updates
This commit is contained in:
parent
fa00f157ad
commit
2bc9ee4d88
@ -8,8 +8,8 @@ const (
|
|||||||
|
|
||||||
struct App {
|
struct App {
|
||||||
vweb.Context
|
vweb.Context
|
||||||
pub mut:
|
mut:
|
||||||
cnt int
|
cnt int
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
@ -31,7 +31,7 @@ pub fn (mut app App) json_endpoint() vweb.Result {
|
|||||||
pub fn (mut app App) index() vweb.Result {
|
pub fn (mut app App) index() vweb.Result {
|
||||||
app.cnt++
|
app.cnt++
|
||||||
show := true
|
show := true
|
||||||
// app.vweb.text('Hello world from vweb')
|
// app.text('Hello world from vweb')
|
||||||
hello := 'Hello world from vweb'
|
hello := 'Hello world from vweb'
|
||||||
numbers := [1, 2, 3]
|
numbers := [1, 2, 3]
|
||||||
return $vweb.html()
|
return $vweb.html()
|
||||||
@ -42,9 +42,6 @@ pub fn (mut app App) show_text() vweb.Result {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn (mut app App) cookie() vweb.Result {
|
pub fn (mut app App) cookie() vweb.Result {
|
||||||
app.set_cookie({
|
app.set_cookie(name: 'cookie', value: 'test')
|
||||||
name: 'cookie'
|
|
||||||
value: 'test'
|
|
||||||
})
|
|
||||||
return app.text('Headers: $app.headers')
|
return app.text('Headers: $app.headers')
|
||||||
}
|
}
|
||||||
|
@ -6,9 +6,8 @@ import sqlite
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
struct App {
|
struct App {
|
||||||
pub mut:
|
vweb.Context
|
||||||
vweb vweb.Context
|
db sqlite.DB
|
||||||
db sqlite.DB
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
@ -32,9 +31,7 @@ pub fn (app &App) index() vweb.Result {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn (mut app App) init_once() {
|
pub fn (mut app App) init_once() {
|
||||||
db := sqlite.connect('blog.db') or {
|
db := sqlite.connect('blog.db') or { panic(err) }
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
app.db = db
|
app.db = db
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,10 +43,10 @@ pub fn (mut app App) new() vweb.Result {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn (mut app App) new_article() vweb.Result {
|
pub fn (mut app App) new_article() vweb.Result {
|
||||||
title := app.vweb.form['title']
|
title := app.form['title']
|
||||||
text := app.vweb.form['text']
|
text := app.form['text']
|
||||||
if title == '' || text == '' {
|
if title == '' || text == '' {
|
||||||
app.vweb.text('Empty text/title')
|
app.text('Empty text/title')
|
||||||
return vweb.Result{}
|
return vweb.Result{}
|
||||||
}
|
}
|
||||||
article := Article{
|
article := Article{
|
||||||
@ -60,14 +57,14 @@ pub fn (mut app App) new_article() vweb.Result {
|
|||||||
sql app.db {
|
sql app.db {
|
||||||
insert article into Article
|
insert article into Article
|
||||||
}
|
}
|
||||||
return app.vweb.redirect('/')
|
return app.redirect('/')
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn (mut app App) articles() {
|
pub fn (mut app App) articles() {
|
||||||
articles := app.find_all_articles()
|
articles := app.find_all_articles()
|
||||||
app.vweb.json(json.encode(articles))
|
app.json(json.encode(articles))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (mut app App) time() {
|
fn (mut app App) time() {
|
||||||
app.vweb.text(time.now().format())
|
app.text(time.now().format())
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,12 @@ vlib/v/checker/tests/vweb_routing_checks.vv:22:1: error: mismatched parameters c
|
|||||||
21 | ['/bar']
|
21 | ['/bar']
|
||||||
22 | pub fn (mut app App) bar(a string) vweb.Result {
|
22 | pub fn (mut app App) bar(a string) vweb.Result {
|
||||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
23 | app.vweb.html('works')
|
23 | app.html('works')
|
||||||
24 | return vweb.Result{}
|
24 | return vweb.Result{}
|
||||||
vlib/v/checker/tests/vweb_routing_checks.vv:29:1: error: mismatched parameters count between vweb method `App.cow` (0) and route attribute ['/cow/:low'] (1)
|
vlib/v/checker/tests/vweb_routing_checks.vv:29:1: error: mismatched parameters count between vweb method `App.cow` (0) and route attribute ['/cow/:low'] (1)
|
||||||
27 | // no segfault, but it shouldnt compile
|
27 | // no segfault, but it shouldnt compile
|
||||||
28 | ['/cow/:low']
|
28 | ['/cow/:low']
|
||||||
29 | pub fn (mut app App) cow() vweb.Result {
|
29 | pub fn (mut app App) cow() vweb.Result {
|
||||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
30 | app.vweb.html('works')
|
30 | app.html('works')
|
||||||
31 | return vweb.Result{}
|
31 | return vweb.Result{}
|
||||||
|
@ -29,7 +29,7 @@ pub fn (app mut App) index() {
|
|||||||
pub fn (app App) post() {
|
pub fn (app App) post() {
|
||||||
id := app.get_post_id()
|
id := app.get_post_id()
|
||||||
post := app.retrieve_post(id) or {
|
post := app.retrieve_post(id) or {
|
||||||
app.vweb.redirect('/')
|
app.redirect('/')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
comments := app.find_comments(id)
|
comments := app.find_comments(id)
|
||||||
|
Loading…
Reference in New Issue
Block a user