vweb: add url query (#5719)
parent
4490cd2e8a
commit
d2d4ea42ce
|
@ -49,6 +49,7 @@ pub:
|
||||||
// TODO Response
|
// TODO Response
|
||||||
pub mut:
|
pub mut:
|
||||||
form map[string]string
|
form map[string]string
|
||||||
|
query map[string]string
|
||||||
headers string // response headers
|
headers string // response headers
|
||||||
done bool
|
done bool
|
||||||
page_gen_start i64
|
page_gen_start i64
|
||||||
|
@ -330,18 +331,27 @@ fn handle_conn<T>(conn net.Socket, mut app T) {
|
||||||
// Call the right action
|
// Call the right action
|
||||||
println('route matching...')
|
println('route matching...')
|
||||||
//t := time.ticks()
|
//t := time.ticks()
|
||||||
mut action := ''
|
//mut action := ''
|
||||||
mut route_words := []string{}
|
mut route_words := []string{}
|
||||||
mut ok := true
|
mut ok := true
|
||||||
url_words := vals[1][1..].split('/')
|
mut url_words := vals[1][1..].split('/')
|
||||||
|
|
||||||
|
|
||||||
if url_words.len == 0 {
|
if url_words.len == 0 {
|
||||||
app.index()
|
app.index()
|
||||||
conn.close() or {}
|
conn.close() or {}
|
||||||
return
|
return
|
||||||
|
} else {
|
||||||
|
if url_words.last().contains('?') {
|
||||||
|
tmp_query := url_words.last().all_after('?').split('&').map(it.split('='))
|
||||||
|
url_words[url_words.len - 1] = url_words.last().all_before('?')
|
||||||
|
for data in tmp_query {
|
||||||
|
if data.len == 2 {
|
||||||
|
app.vweb.query[data[0]] = data[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mut vars := []string{cap: route_words.len}
|
mut vars := []string{cap: route_words.len}
|
||||||
|
|
||||||
$for method in T {
|
$for method in T {
|
||||||
|
|
Loading…
Reference in New Issue