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

409 Commits

Author SHA1 Message Date
Miccah
1a6a7a678a
vweb: change Context.headers from string to struct Header (#10749) 2021-07-18 12:21:07 +03:00
Miccah
c3c420a41c
vweb: remove chunked encoding support in server responses (#10750) 2021-07-13 15:47:16 +03:00
shadowninja55
7694afa44c
checker: check that mut args are lvalues (#10779) 2021-07-13 08:06:39 +03:00
Miccah
3039092b89
net.http: add header_from_map and join functions (#10747) 2021-07-12 12:16:41 +03:00
Miccah
44e78a6301
vweb: use http.Response constants instead of strings (#10730) 2021-07-10 11:58:07 +03:00
Alexander Medvednikov
1469b47f7d vweb: free app object for each request 2021-06-24 01:37:06 +03:00
Tomas Hellström
46eb6befd5
vweb,net: just log errors in accept() instead of panic-ing, add time.sleep(1ms) after each retry in select (#10489) 2021-06-17 10:41:26 +03:00
Miccah
6a19a13812
vweb: re-enable concurrency and fix the counter example (#10484) 2021-06-17 02:08:02 +03:00
Alexander Medvednikov
ae014ad06d vweb: add a missing check 2021-06-16 23:35:14 +03:00
Alexander Medvednikov
eacdd0d7e1 comptime: fix $(field.name) in $for; vweb: shared fields 2021-06-16 20:33:39 +03:00
Dialga
7201d5db59
vweb: fix parsing form data (#10468) 2021-06-15 18:28:16 +03:00
Emily Hudson
535dcac8fa
net: ipv6 support, merge unix+ip;[pack:x] attribute (#9904) 2021-06-13 23:53:38 +03:00
Delyan Angelov
eac1e25c5d
strings: simplify Builder (#10263) 2021-05-31 14:21:06 +03:00
Alexander Medvednikov
dcfea5c69b vweb: detect mime type automatically in serve_static() 2021-05-22 07:02:25 +03:00
Alexander Medvednikov
f09a5135e9 checker: handle builtin enum init correctly 2021-05-20 03:14:32 +03:00
Alexander Medvednikov
664f220f40 vweb: a minor readme update 2021-05-17 08:51:52 +03:00
Alexander Medvednikov
ed6ad728d9 vweb: fix serving static files 2021-05-16 04:28:14 +03:00
JalonSolov
141248f592
doc: vweb README (#10106) 2021-05-15 05:53:25 +03:00
Delyan Angelov
143c3d4bb4
io: deprecate io.make_reader (not needed anymore) 2021-05-13 10:26:26 +03:00
Delyan Angelov
2b420cdf4d
ci: vfmt new vlib/vweb/vweb_app_test.v 2021-05-11 14:01:57 +03:00
Delyan Angelov
6450fda938
ci: fix compiling blog/, *and* comptime_if_is_test.v. Add vweb_app_test.v . 2021-05-11 13:59:08 +03:00
Alexander Medvednikov
72a135c7c5 vweb: update vweb_test_server.v 2021-05-11 09:52:08 +03:00
Alexander Medvednikov
dc034d9b16 vweb: make thread safe; checker: $if T is Interface { 2021-05-11 09:30:18 +03:00
Uwe Krüger
d26ac5692e
all: various fixes for [heap]/auto-heap handling (#10033) 2021-05-07 15:58:48 +03:00
Miccah
8b50a5a171
vweb: fix route matching on / (#10001) 2021-05-05 14:20:40 +03:00
Lukas Neubert
dee733aae4
fmt: reset const field align after multi line exprs (#9916) 2021-04-29 02:17:37 +03:00
Carlos Esquerdo Bernat
f46868133b
vweb: remove calling .to_lower too early while processing url and url params (#9805) 2021-04-28 07:46:36 +03:00
Delyan Angelov
cafe382424
vweb: update references to old .init_once() and .init() methods to .init_server() and .before_request() 2021-04-26 19:38:13 +03:00
Delyan Angelov
bd539b6427
vfmt: fix string interpolation formatting with multiple ',",\' and \" . 2021-04-20 20:26:06 +03:00
Miccah
e2be3ec396
vweb: split and parse Content-Type header correctly (#9756) 2021-04-16 08:46:06 +03:00
William Clavier
b11b744630
vweb: fix the none error for empty TCP connections (#9759) 2021-04-16 08:45:46 +03:00
Alexander Medvednikov
a18f85c8cd vweb: init_once() => init_server(); init() => before_request() 2021-04-15 06:27:24 +03:00
Miccah
5eb67ccd94
http: use Header struct for headers (#9462) 2021-04-09 18:17:33 +02:00
Miccah
67ec33218e
vweb: read the entire request body from buffered reader (#9644) 2021-04-09 10:53:33 +03:00
Miccah
f809d4052f
net.http: change header behavior to keep custom header case (#9602) 2021-04-08 02:12:46 +02:00
Delyan Angelov
b041681c00 tests: bump limits to reduce flakyness on m1 with latest clang 2021-04-05 22:38:55 +03:00
Atakan Yenel
e9c7cd0c9f
vweb: add custom errors (#9519) 2021-03-30 15:30:16 +03:00
Alexander Medvednikov
0c055a1ce9 all: s.contains(s2) instead of in 2021-03-23 11:38:56 +03:00
Alexander Medvednikov
149151b1e8 cgen: minor vfmt 2021-03-17 03:41:52 +03:00
Alexander Medvednikov
091a1bab27 autofree: free global map consts and some vweb fixes 2021-03-17 01:33:35 +01:00
Alexander Medvednikov
852d302b87 io: BufferedReader.free() 2021-03-15 21:25:19 +01:00
Anton Zavodchikov
1ad4623fb8
tmpl: move to v/parser (#9052) 2021-03-15 13:35:55 +02:00
Alexander Medvednikov
530b981765 vweb: mark send_response_to_client with [manualfree] 2021-03-12 01:11:43 +03:00
Miccah
f26d2f02b7
ast, cgen, checker, parser: support method arguments in comptime $for (#9208) 2021-03-11 15:04:34 +02:00
Lukas Neubert
fdcfe397d4
fmt: write empty or blocks the same as empty fn bodies, empty structs, etc (#9136) 2021-03-06 21:04:51 +02:00
Lukas Neubert
80356edd8c
fmt: combine simple attributes into a single line (#9120) 2021-03-05 07:17:57 +02:00
Miccah
709d7460de
vweb: refactor form parsing and add tests (#9051) 2021-03-04 18:00:03 +02:00
zakuro
6b2c7fd53e
fmt: remove tail space when using multiline short arg (#9110) 2021-03-04 12:44:50 +02:00
Lukas Neubert
0f8f8bd90d
fmt: force empty lines after struct declarations and most functions (#9096) 2021-03-03 23:56:40 +01:00
Patrick Hintermayer
38495da07e
docs: add a basic vweb getting started example (#9073) 2021-03-03 14:39:04 +02:00
Delyan Angelov
094936d764
ci: reduce chances of false positives from vweb_test.v on macos 2021-03-03 10:04:12 +02:00
Miccah
b3a31e7626
vweb: add test for 0 Content-Length hang (#9069) 2021-03-02 21:31:57 +02:00
Delyan Angelov
cd423251da
vweb: add .mount_static_folder_at/2 , use it instead of app.handle_static in the server_sent_events example 2021-03-02 21:30:18 +02:00
Delyan Angelov
eb4c60877e
vweb: fix timeouting after 30 seconds, when a request with Content-Length: 0 was processed 2021-03-02 21:02:44 +02:00
Miccah
d0fab60981
vweb: refactor routing logic (#9025) 2021-03-01 11:50:52 +01:00
Anton Zavodchikov
506041a15b
tmpl: fix doubling templates folder path and enhancements (#9029) 2021-03-01 11:15:59 +02:00
spaceface
b712af56fd
all: bring back panic(err.msg) -> panic(err) (#9022) 2021-03-01 00:18:14 +01:00
spaceface
d63b7bc35a
all: update repo to use the new error handling syntax (#8950) 2021-02-28 23:20:21 +03:00
spaceface
b9a381f101
all: migrate to the new Option (p. 1) (#8924) 2021-02-28 22:24:29 +03:00
Delyan Angelov
4076e8eaa0
tmpl: add a tmpl_all_in_one_folder.vv test; fix for static_vars_in_translated_mode.vv 2021-02-28 19:14:19 +02:00
Delyan Angelov
5e87eeb864
tmpl: support for @include 'file.md' as well as paths != templates/ 2021-02-28 18:52:31 +02:00
Miccah
7e08e84bc1
vweb: refactor HTTP request parsing (#8874) 2021-02-27 23:18:25 +01:00
Alexander Medvednikov
3a2d696fac time: time.wait() => time.sleep() 2021-02-27 20:41:06 +03:00
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
zakuro
ac4791045f
time: consolidate the different sleep functions into time.wait(Duration) (#8853) 2021-02-21 17:05:03 +02:00
Delyan Angelov
746dfe6317
ci: make vweb and websocket tests more robust to transient errors 2021-02-20 20:24:21 +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
Uwe Krüger
374739b804
all: rename [ref_only] -> [heap] (#8718) 2021-02-13 16:52:01 +02:00
Uwe Krüger
40066a5daa
checker: obey [ref_only] tag, allow embedding in other ref struct (#8707) 2021-02-13 00:47:37 +01:00
StunxFS
6b431b18f5
vweb.tmpl: fix a little typo (#8704) 2021-02-12 20:06:37 +02: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
Lathanao
a0cbe48977
vweb: fix @include (#8535) 2021-02-04 17:07:04 +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
dbaccd4272
vfmt: shorten main.const_name to just const_name 2021-01-25 20:57:33 +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
joe-conigliaro
97ebecc5f4
usecache: get all tests running with -usecache enabled by default (p.1) (#7699) 2021-01-20 06:04:59 +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
254df0ca62
fmt: improve string quotes (#8075) 2021-01-13 06:05:27 +01:00
zakuro
33694665f0
fmt: align each contiguous field of struct. not the whole. (#7981) 2021-01-12 04:38:43 +01:00
Lukas Neubert
d96a1b8a5f
fmt: intelligent newlines for trailing arg syntax (#7748) 2021-01-10 17:39:37 +01:00
Alexander Medvednikov
1b07710ab3 vweb: make html() return Result 2021-01-08 05:05:29 +01:00
Alexander Medvednikov
352cf91ba2 vweb: remove return vweb.Result{} everywhere 2021-01-08 04:57:02 +01:00
Alexander Medvednikov
e3f8d448c1 all: [noinit] struct attribute 2021-01-08 04:49:16 +01:00
Hitalo de Jesus do Rosário Souza
ea4981df90
vweb.tmpl: update README.md with @js directive (#7791) 2021-01-06 20:05:32 +02: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
zakuro
dd516858d4
fmt: align struct field comments (#7632) 2021-01-03 21:10:25 +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
Alexander Medvednikov
7496c74f7e vweb: add [post] test 2021-01-01 21:29:17 +01:00
Daniel Däschle
ac22fe998a
vweb: default init methods (#7779) 2021-01-01 17:24:54 +01:00
Alexander Medvednikov
2bc9ee4d88 vweb: more updates 2020-12-31 17:47:20 +01:00
Alexander Medvednikov
2533c706ae vweb: migrate all tests and examples to the new syntax 2020-12-31 17:22:47 +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
Lukas Neubert
df4165c7ee
docs_ci: check all md files except thirdparty (#6855) 2020-11-18 18:28:28 +01: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
dab66593fc vlib: run vfmt over vlib files, so that v doc -m vlib/ can run without warnings 2020-10-21 12:54:10 +03:00
Delyan Angelov
3c2202572b
cgen: produce cleaner error on missing C headers (with optional explanation) (#6637)
Implements support for `#include <openssl/rand.h> # Please install OpenSSL`.
2020-10-17 18:27:06 +03:00
Delyan Angelov
d261844da0 vweb: fix warnings about fn f(x, y Type) 2020-10-15 22:04:42 +03:00
Alexander Medvednikov
7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Delyan Angelov
3795aaab5c v test-fmt: reformat some skipped files, comment on the remaining ones 2020-10-15 00:39:09 +03:00
Xavier B
d56072eb53
vweb: fix/remove todos from assets tests (#6593) 2020-10-10 00:54:46 +02:00
Daniel Däschle
06cade6c31
all: change .ReturnType and .Type to .return_type and .typ (#6494) 2020-09-28 06:13:38 +02:00
Alexander Medvednikov
624f22e27e all: mutability check (part 1); enable mutable sumtype args 2020-09-22 05:28:29 +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
Alexander Medvednikov
ea31f75098 checker: more default field fixes 2020-09-09 14:14:44 +02: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
Maciej Obarski
7bd2804ce9
all: automatic error propagation in place of "or { return(err) }" 2020-08-29 01:58:03 +02:00
spaceface777
eff319f869
comp_for: allow checking full mehod and arg types (#5997) 2020-08-27 15:00:44 +02:00
Delyan Angelov
f259d275fc tests: bump simple_tcp_client retries to 20 2020-08-25 17:52:44 +03:00
Delyan Angelov
7b7ab580ab tests: add retry logic in simple_tcp_client in vweb_test.v 2020-08-25 17:05:40 +03: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
712f4bd7f8 vweb: add tests 2020-08-14 00:52:02 +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