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