1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

vweb: continue after bad http client connection; performance fixes

* Enable compiling vweb with -prod (by supressing 'declared and not used' warning about 'reset') .

* Fix http responses (now wrk is happy and shows no errors) by adding a Content-Length header.

* Fix -g compilation for urllib.v .

* vweb: println action= only in debug mode.

* vweb: max request headers counting fix.

* Make vweb.html get a 'ctx mut Context' param, just like the other methods.

* vweb: simplify add_header.

* Use a string builder for the most common html case so that the response http text can be send in one go.

* vweb: reduce _STR/string interpolation usage in the most common html response case.

* vweb: refactor common http response formatting into Context.send_response_to_client/2 method.
This commit is contained in:
Delyan Angelov
2019-12-11 16:32:54 +02:00
committed by Alexander Medvednikov
parent cfeec92826
commit 13769f440f
8 changed files with 85 additions and 56 deletions

View File

@ -178,7 +178,7 @@ fn (p mut Parser) comp_time() {
p.genln('/////////////////// tmpl end')
receiver := p.cur_fn.args[0]
dot := if receiver.is_mut || receiver.ptr || receiver.typ.ends_with('*') { '->' } else { '.' }
p.genln('vweb__Context_html($receiver.name /*!*/$dot vweb, tmpl_res)')
p.genln('vweb__Context_html( & $receiver.name /*!*/$dot vweb, tmpl_res)')
}
else {
p.error('bad comptime expr')

View File

@ -627,7 +627,7 @@ fn (p mut Parser) check_unused_and_mut_vars() {
break
}
if !var.is_used && !p.pref.is_repl && !var.is_arg &&
!p.pref.translated && var.name != 'tmpl_res'
!p.pref.translated && var.name != 'tmpl_res' && p.mod != 'vweb'
{
p.production_error_with_token_index('`$var.name` declared and not used', var.token_idx )
}