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

265 Commits

Author SHA1 Message Date
zakuro
f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write (#8892) 2021-02-22 13:18:11 +02:00
Louis Schmieder
7a35131721
vweb: add handle static root & documentation (#8865) 2021-02-21 20:01:29 +02:00
Nick Treleaven
4a0367a63c
vlib: add [unsafe] tag to more functions: tos, string_from_wide, strings.Builder: write_bytes, free (#8766) 2021-02-15 17:15:52 +02:00
Nick Treleaven
ea803113c3
checker: check unsafe V function calls (#8752) 2021-02-14 19:31:42 +01:00
Mohammad Ali Chraghi
86e6b4f926
examples: improve the pg and vweb output (#8640) 2021-02-09 11:31:25 +02:00
Nick Treleaven
9e751f72c4
doc, fmt: use map{key: value} syntax for map literals (#8623) 2021-02-08 16:57:42 +02:00
Lukas Neubert
7f4c582f1a
fmt: unwrap long infix exprs inside parenthesis if necessary (#8609) 2021-02-07 23:10:39 +01:00
Lukas Neubert
db0fc8fbc9
fmt: better function call wrapping inside ternary if branches (#8604)
* fmt: better funcation call wrap in singel line ifs

* tests

* format files
2021-02-06 21:46:52 +01:00
Delyan Angelov
f4b757e47d
examples: add examples/vweb/server_sent_events; implement vweb.sse 2021-02-03 16:03:06 +02:00
Louis Schmieder
4a6642b79e
vweb: fix vweb upload (#8392) 2021-01-29 14:48:52 +01:00
Delyan Angelov
e5a84719ca
all: require calling optfn() ? / optfn() or {...} for fn optfn() ? {} 2021-01-26 16:43:17 +02:00
Delyan Angelov
728344ff65
ci: fix v test-cleancode 2021-01-25 12:55:01 +02:00
Lukas Neubert
8b61891348
fmt: smarter if condition wrapping (#8201) 2021-01-23 10:33:22 +02:00
Louis Schmieder
d8c94cd1fd
vweb: make multipart Content-Type header detection case-insensitive (#8255) 2021-01-21 21:16:25 +02:00
Louis Schmieder
f7c251f8f3
vweb: add multipart/form-data parser and file upload (#8160) 2021-01-21 11:08:51 +01:00
Louis Schmieder
b44ec4921f
vweb: make vweb async (#8095) 2021-01-21 11:08:38 +01:00
Delyan Angelov
d92f5c55ba
net: use mut and refs as receivers consistently (#8205) 2021-01-20 11:11:01 +01:00
Lukas Neubert
ac2c3847af
all: update copyright to 2019-2021 (#8029) 2021-01-18 13:20:06 +01:00
Louis Schmieder
38881e4b20
vweb: Implement chunked encoding transfer (#8179) 2021-01-18 13:04:21 +01:00
Lukas Neubert
16c9cbce7c
fmt: correctly increase f.line_len for write_indent (#8174) 2021-01-18 06:02:29 +01:00
Daniel Däschle
53941c4a0a
fmt: fix if cond break readability (#8132) 2021-01-16 02:12:17 +01:00
zakuro
33694665f0
fmt: align each contiguous field of struct. not the whole. (#7981) 2021-01-12 04:38:43 +01:00
Alexander Medvednikov
1b07710ab3 vweb: make html() return Result 2021-01-08 05:05:29 +01:00
Alexander Medvednikov
e3f8d448c1 all: [noinit] struct attribute 2021-01-08 04:49:16 +01:00
Daniel Däschle
42e60b8e27
vweb: fix array.last usage (#7905) 2021-01-06 01:24:36 +01:00
Daniel Däschle
9f74be4cf6
vweb: route to index dynamically (#7782) 2021-01-05 01:30:27 +01:00
Alexander Medvednikov
89bbbe0ec0 vweb: vfmt vweb.v 2021-01-03 17:03:18 +01:00
Delyan Angelov
c1e0e01f8f
vweb: simplify the [post] pub fn no routing fix check 2021-01-02 13:47:54 +02:00
Delyan Angelov
d912ff165b
ci: fix failing vweb test, increase timeout for vweb_test_server.v, add VWEB_LOGFILE 2021-01-02 13:33:26 +02:00
Louis Schmieder
f7135979f5
vweb: fixed req type without path (#7792) 2021-01-01 21:57:45 +01:00
Daniel Däschle
ac22fe998a
vweb: default init methods (#7779) 2021-01-01 17:24:54 +01:00
Alexander Medvednikov
3ffdcd8910 vweb: embed context 2020-12-31 17:07:27 +01:00
Delyan Angelov
d563261e58
vweb: run vfmt, add it to v test-cleancode 2020-12-27 11:38:12 +02:00
Delyan Angelov
b1f6ff8871 ci: fix failing vweb_routing_checks.vv 2020-12-20 11:59:38 +02:00
Louis Schmieder
d96dcefb06
vweb: http methods check (#7371) 2020-12-18 07:34:06 +01:00
Emily Hudson
553ecf63e7
vlib/io: fix reader bugs, make read_all take a config struct (#7361) 2020-12-16 18:22:26 +01:00
Dialga
4500aade95
vweb: fix scan_static_directory (#7275) 2020-12-12 19:13:43 +02:00
Emily Hudson
cd2a2cef25
vlib/net: add buffered IO, x.net -> net (#6754) 2020-11-15 22:54:47 +02:00
Delyan Angelov
2dc9a45e06 vfmt: fix eating of app.$method(vars); format vlib/vweb/vweb.v 2020-11-14 13:55:10 +02:00
pancake
2994e7150f
vweb: check function and route parameter count (#6761) 2020-11-08 09:14:24 +01:00
Delyan Angelov
b14f779853 vweb: add a placeholder for checking route validity at startup 2020-11-05 22:59:11 +02:00
Alexander Medvednikov
a0bf796926 autofree: handle SelectorExpr and fix json 2020-11-02 00:57:45 +01:00
Alexander Medvednikov
dca3d13606 autofree: another lambda fix 2020-10-30 00:43:04 +01:00
Delyan Angelov
d261844da0 vweb: fix warnings about fn f(x, y Type) 2020-10-15 22:04:42 +03:00
Daniel Däschle
06cade6c31
all: change .ReturnType and .Type to .return_type and .typ (#6494) 2020-09-28 06:13:38 +02:00
Seven Du
98e6d25b42
vweb: make ip() to return peer_ip work (#6399) 2020-09-17 10:38:39 +03:00
Sandro Martini
07b5d6b1b6
vweb: add mime type for json static content (#6347) 2020-09-11 23:14:44 +03:00
Sandro Martini
39da5eca89
vweb: hide debug prints 2020-08-31 19:39:46 +02:00
florin
b1a8e1e5b2
vweb: escape form key, not only value. (#6269) 2020-08-30 19:09:12 +02:00
spaceface777
eff319f869
comp_for: allow checking full mehod and arg types (#5997) 2020-08-27 15:00:44 +02:00
Delyan Angelov
2ad2b4c5ba vweb: add more tests. Fix missing Content-Length: header bug on 404. 2020-08-14 02:49:15 +03:00
Delyan Angelov
a62307f711 vweb: fix body appending (missing closing json bracket) 2020-08-13 21:07:31 +03:00
spaceface777
2353814821
vweb: fix body size calculation (#6122) 2020-08-13 20:55:33 +03:00
Delyan Angelov
36eae1c175
builtin: x.vstring() instead of string(x) (#6102) 2020-08-10 18:05:26 +02:00
Sandro Martini
c7fae4dd6f
vweb: add set_status() (#6087) 2020-08-09 18:05:06 +02:00
Louis Schmieder
1fd499ed4a
vweb: fix request checking (#6027) 2020-07-31 01:26:56 +02:00
joe-conigliaro
395e886b2e
http/vweb: use Method enum & add helpers 2020-07-28 14:13:19 +10:00
Louis Schmieder
b58b15993c
gen: compile time for (methods and fields) (#5957) 2020-07-25 00:02:44 +02:00
Louis Schmieder
b537d8e23e
parser: comp for attrs array (#5903) 2020-07-23 17:19:37 +02:00
Louis Schmieder
bb60fe2ccf
vweb: implement cookie expiration date (#5873) 2020-07-19 21:42:50 +02:00
Alexander Medvednikov
69ef43ba00 vweb: fix ip() 2020-07-16 21:23:35 +02:00
Alexander Medvednikov
6245876806 vweb: ip() 2020-07-16 00:48:14 +02:00
Delyan Angelov
ca9790a71f vweb: ensure the tcp connection is always closed at the end of the response 2020-07-10 10:49:39 +03:00
Louis Schmieder
3792e17885
vweb: fix routing for 0 params (#5773) 2020-07-09 17:16:02 +02:00
Louis Schmieder
373aa3dbc8
vweb: router: fix trailing / (#5760) 2020-07-08 22:15:37 +02:00
Alexander Medvednikov
03b76d19f1 repl: make the info message a bit smaller 2020-07-08 17:22:38 +02:00
Louis Schmieder
7ad03e9d6a
vweb: simplify router (#5751) 2020-07-08 15:22:03 +02:00
Alexander Medvednikov
246e7e8464 vweb: form error 2020-07-07 21:35:59 +02:00
Louis Schmieder
d2d4ea42ce
vweb: add url query (#5719) 2020-07-07 13:46:57 +02:00
Alexander Medvednikov
a6450e8e98 vweb: fix and simplify routing 2020-07-07 12:35:45 +02:00
Louis Schmieder
3cd9e2cab7
vweb: fix index (#5682) 2020-07-05 22:05:58 +02:00
Alexander Medvednikov
36183660e6 remove oldgg, gl, glfw, freetype from vlib now that we have the new sokol based gg 2020-07-05 16:44:28 +02:00
Alexander Medvednikov
244d61f8d0 vweb: fix a route matching bug 2020-07-03 22:00:17 +02:00
Alexander Medvednikov
2281163efd vweb: fix a routing bug 2020-07-03 17:50:48 +02:00
Tom Leen
51410fdb6d
vweb: add .txt and .md mime types (#5641) 2020-07-03 17:17:25 +02:00
Alexander Medvednikov
b7175b54eb vweb: ['/:arg1/:arg2/action'] attribute 2020-07-03 15:10:39 +02:00
Alexander Medvednikov
34ddc9240e tutorials: web blog fixes 2020-06-30 21:04:00 +02:00
Louis Schmieder
616b07204d
vweb: add cookies with expire date 2020-06-29 21:14:36 +02:00
Alexander Medvednikov
3f59f23427 vweb: fix a leak 2020-06-28 19:55:53 +02:00
Alexander Medvednikov
0138f46797 vweb: fix a leak 2020-06-28 13:56:38 +02:00
Alexander Medvednikov
e666209fe2 vweb: set_content_type() 2020-06-27 23:22:41 +02:00
Alexander Medvednikov
02b846aa72 vweb: fix json() and text() results 2020-06-27 13:56:15 +02:00
Alexander Medvednikov
bb5793d485 vweb: more xss fixes 2020-06-24 22:38:25 +02:00
Alexander Medvednikov
83b300435a vweb: escape html; table: rename parent_typ to parent_type 2020-06-24 22:12:33 +02:00
Alexander Medvednikov
11ad18cd28 vweb: page gen time 2020-06-23 21:02:20 +02:00
Alexander Medvednikov
74af88bc92 Revert "fmt: re-format parser.v and cgen.v"
This reverts commit 6b2808a3f9.
2020-06-23 18:16:24 +02:00
Alexander Medvednikov
6b2808a3f9 fmt: re-format parser.v and cgen.v 2020-06-23 18:05:53 +02:00
Alexander Medvednikov
a4b159a80f orm: order by id by default 2020-06-22 17:13:57 +02:00
Alexander Medvednikov
1d8d19c977 vweb: return $vweb.html() 2020-06-20 03:12:38 +02:00
JalonSolov
bbd6d0b4e5
vweb: ignore url params on static files 2020-06-20 01:39:55 +02:00
Alexander Medvednikov
b904d7d1ba vweb: debug prints behind $if debug 2020-06-10 11:50:06 +02:00
Alexander Medvednikov
2ed4457c5f vweb: init_once() 2020-06-10 11:24:36 +02:00
Delyan Angelov
013bfc7ebc vweb: add vweb.run_app(app,port); fix compilation of vweb_assets/main.v 2020-06-07 11:02:35 +03:00
Alexander Medvednikov
7815c5b108 cgen: $action (ComptimeCall); vweb: hello world works! 2020-06-06 10:05:26 +02:00
Alexander Medvednikov
11908410f3 vweb: make compile 2020-06-05 21:04:18 +02:00
Alexander Medvednikov
e3917d98c2 generics: another mut arg test 2020-06-05 20:57:05 +02:00
Alexander Medvednikov
3d83934caf checker: check mutating methods; generics fixes 2020-06-01 15:44:10 +02:00
Alexander Medvednikov
81b44dc2c9 generics: generic call inside generic call; checker: check mut args at call 2020-05-29 04:30:00 +02:00
Alexander Medvednikov
59711d9c55 generics: test T{} 2020-05-27 06:53:52 +02:00
Alexander Medvednikov
fc67046bac checker: fix pub fn check 2020-05-27 03:38:21 +02:00
Alexander Medvednikov
7c9279c447 vfmt: make work with comptime 2020-05-27 03:33:40 +02:00
yuyi
dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
iRedMail
4a70d2fe51
examples: fix 2 unused var warnings 2020-05-17 14:15:04 +02:00
yuyi
7f4cf08516
parser: check (mut f Foo) syntax 2020-05-17 13:51:18 +02:00
yuyi
9f4d498ff1
all: updateimport () and []array 2020-04-26 13:49:31 +02:00
yuyi
541b058e90
all: use a !in b instead of !(a in b) 2020-04-26 06:39:23 +02:00
yuyi
9c5de77f12
os: ext => file_ext 2020-03-26 14:18:08 +01:00
Ian M. Jones
93920a4bb0
vweb: set request data with body text to allow use in actions 2020-03-16 14:30:55 +01:00
Ian M. Jones
c731615dbb
vweb: cater for trailing slashes being used in handle_static call 2020-03-08 15:41:59 +01:00
yuyi
783dee1f48
os: merge with filepath 2020-03-07 22:26:26 +01:00
Ian M. Jones
750f37fde7
vweb: fix serving static files 2020-03-07 14:16:03 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
joe-conigliaro
7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Abdullah Atta
63b70ddb06 move http module to net.http 2019-12-30 05:42:23 +01:00
Charles WANG
b1013697d1 vlib/vweb.v: add public const and functions 2019-12-23 13:24:53 +03:00
Alexander Medvednikov
61bfecfa09 vweb: minor fixes 2019-12-21 05:19:26 +03:00
Alexander Medvednikov
45695543ba tutorial: minor fixes 2019-12-14 18:59:02 +03:00
Alexander Medvednikov
797d4364e7 vweb: fix reading request's body/headers 2019-12-13 23:46:11 +03:00
Alexander Medvednikov
fb3da327d6 vweb: fix a cookie bug 2019-12-13 21:11:40 +03:00
taojy123
28f76f10db vweb: fix empty post request blocking 2019-12-11 19:20:46 +03:00
Delyan Angelov
13769f440f 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.
2019-12-11 17:32:54 +03:00
Alexander Medvednikov
f286387647 vweb: secure HttpOnly cookies 2019-12-11 03:20:30 +03:00
Alexander Medvednikov
cdfbb2978d strings: replace_each([]); orm: update 2019-12-10 23:57:49 +03:00
Alexander Medvednikov
6f49d4c1d2 orm: bool support; vweb fixes 2019-12-09 23:20:29 +03:00
Alexander Medvednikov
d58982a6f6 vweb: fix tests 2019-12-08 18:07:04 +03:00
Alexander Medvednikov
1c6f7180b2 vweb: fix form parsing 2019-12-08 17:37:23 +03:00
Alexander Medvednikov
7adda3b71a vweb: fix get_cookie() 2019-12-08 01:48:49 +03:00
Alexander Medvednikov
b1174428a5 vweb: fix redirect() 2019-12-08 01:05:57 +03:00
Alexander Medvednikov
329485d4b6 vweb: fix headers and cookies 2019-12-07 15:04:05 +03:00
Alexander Medvednikov
c8d111924d check unused and unmodified vars in all modules, not just main 2019-12-06 18:43:56 +03:00
Alexander Medvednikov
a3b14e00a2 vweb fixes 2019-11-26 16:08:16 +03:00
joe-conigliaro
ab91733a28 small optimization with generics and use os.is_dir in vweb again 2019-11-22 10:55:20 +03:00
joe-conigliaro
8fbfceed30 compiler: generics - support across modules/files 2019-11-22 08:22:11 +03:00
joe-conigliaro
59378dce46 compiler/vlib: replace substr/left/right with [start..end] everywhere 2019-10-27 10:03:15 +03:00
Alexander Medvednikov
892d1c6aab vweb: first step to revive it 2019-10-24 22:46:58 +03:00
Simon Ernst
270934441c os: make ls() return an optional 2019-10-17 14:30:05 +03:00
joe-conigliaro
23c84516e2 compiler: error on unused imports 2019-09-23 13:42:20 +03:00
Carlos Esquerdo Bernat
8a77d4482c vweb: fix headers 2019-09-05 15:46:24 +03:00
kawa-yoiko
4f0f99e663 parser: fix mutability with chained fields 2019-08-30 20:19:06 +03:00
Carlos Esquerdo Bernat
cf23c289ec tests: cleanup 2019-08-20 11:18:12 +03:00
unknown-v
49205dcce3 examples: fix maps warnings 2019-08-17 02:55:11 +03:00
Alexander Medvednikov
c156cef972 vweb: fix the test 2019-08-16 09:58:27 +03:00
Alexander Medvednikov
dc9cebe26c orm fixes; glfw: remove C code 2019-08-16 09:10:03 +03:00
Alexander Medvednikov
a11961b0d3 vweb: make mime_types a const 2019-08-13 01:04:26 +03:00
Alexander Medvednikov
ef2ab31e88 sql: only accept strings and ints for now 2019-08-12 21:07:03 +03:00
Carlos Esquerdo Bernat
d526cfc205 vweb: fix V panic: array index out of range: 1/0 2019-08-11 14:07:22 +02:00
iRedMail
5a76255297 Allow extra http methods with form: PUT, PATCH
- Allow extra http methods with form: PUT, PATCH
- Rename `post_form` to `form`
2019-08-10 11:44:54 +02:00
Julian Schurhammer
1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
Alexander Medvednikov
34a98e3df0 vweb fixes 2019-08-03 02:27:56 +02:00
Alexander Medvednikov
9e380e2886 vweb: clean up 2019-08-02 23:45:36 +02:00