Commit Graph

228 Commits (82ac39eca69c1d0845eeeeb6ce57fcc8b77814fd)

Author SHA1 Message Date
Atakan Yenel e9c7cd0c9f
vweb: add custom errors (#9519) 2021-03-30 15:30:16 +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
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
Miccah 709d7460de
vweb: refactor form parsing and add tests (#9051) 2021-03-04 18:00:03 +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
Miccah d0fab60981
vweb: refactor routing logic (#9025) 2021-03-01 11:50:52 +01: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
Miccah 7e08e84bc1
vweb: refactor HTTP request parsing (#8874) 2021-02-27 23:18:25 +01: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
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