Commit Graph

386 Commits (a2081382832d9a81067d6510298edd2e23eb597c)

Author SHA1 Message Date
Carlos Esquerdo Bernat 60997b3052
net.http: wrap unsafe{} around req.headers.free() (#5891) 2020-07-20 15:39:46 +03:00
Delyan Angelov e3f7681e89 smtp_test: use `assert false return`, remove for loop 2020-07-13 18:52:46 +03:00
Delyan Angelov 97d01a5487 test: enable passing username/password through env vars to smtp_test.v 2020-07-13 18:22:36 +03:00
spaceface777 e9c144bf98
smtp: rewrite module api (#5819) 2020-07-13 16:41:23 +02:00
Nedim 8674991bac
smtp: add mail sent confirmation and tests for smtp lib (#5813) 2020-07-12 20:42:11 +03:00
Delyan Angelov d28a1042a0 net.http, net.websocket: allow importing both in the same app 2020-07-12 15:21:40 +03:00
Nedim 25c397f921
net.smtp: remove credentials from the test (#5808) 2020-07-11 21:19:36 +02:00
Nedim 549c4f54cd
net: implementation of SMTP RFC 2821 (#5807) 2020-07-11 21:05:24 +02:00
Alexander Medvednikov 2e275731a3 websocket: fix compilation 2020-07-11 12:41:37 +02:00
Alexander Medvednikov 649821be4c all: use v_realloc 2020-07-11 12:37:54 +02:00
Alexander Medvednikov 4d7d1eb0c4 http: referer() 2020-07-07 14:37:43 +02:00
Delyan Angelov 1416c70e73 net.websocket: fix building client.v 2020-07-05 18:44:39 +03:00
yuyi 34a24eaa4e
checker: validate loop var names (#5677) 2020-07-05 15:27:37 +02:00
Ryan Willis bb6ab185c3
ci: fix periodic integration tests (#5666) 2020-07-04 19:52:25 +02:00
Uwe Krüger 3b067f5f85
all: experimental locked concurrency support, part 1 (#5637) 2020-07-04 12:44:25 +02:00
div72 95696559b7
os: fix early termination when saving binary (#5646) 2020-07-04 01:48:01 +02:00
Nick Treleaven 0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
Delyan Angelov 5813d2bf72 net.socket: add s.peer_ip() 2020-07-02 23:02:56 +03:00
Nick Treleaven e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} (#5581) 2020-07-01 14:50:17 +02:00
Delyan Angelov 78e1127d99
cgen: treat the main module like any other v module 2020-07-01 00:53:53 +02:00
Louis Schmieder f3010cbfb2
http: add post function with json as payload (#5580) 2020-06-30 14:36:11 +02:00
Emily Hudson c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax 2020-06-27 21:46:04 +02:00
ka-weihe 7f225f2eaa
map: rename size to len 2020-06-21 16:51:02 +02:00
Delyan Angelov 0d6233cd45 net: support for s.max_single_send_size in Socket.send/2 2020-06-21 17:40:39 +03:00
spaceface777 624005bbd0
tcc_win: fix tests 2020-06-19 12:54:56 +02:00
Ned Palacios 5ff7d07138
vdoc: fix sorting + other minor improvements 2020-06-19 10:36:45 +02:00
Alexander Medvednikov 931bba1d7d net: fix windows urlmon flag 2020-06-10 11:25:41 +02:00
Alexander Medvednikov c261ac4f46 net: fix windows headers 2020-06-10 11:24:37 +02:00
Hungry Blue Dev e649cf84e3
rand: reorganize: phase 2 2020-06-09 15:06:07 +02:00
Enzo Baldisserri 11b7b97311
parser: fail when assigning to _ with := 2020-06-08 00:47:04 +02:00
Louis Schmieder 2cad6db9f7
http: fix redirect for servers returning lowercase 'location:' header 2020-06-08 00:01:20 +03:00
Tomas Hellström 9c8769503f
time: add microsecond precision to Time struct 2020-06-07 16:19:09 +03:00
Alexander Medvednikov 13a7ce9e69 gg: GG => Context 2020-06-04 20:26:18 +02:00
yuyi 5ae8853648
all: change `f mut Foo` to `mut f Foo` 2020-06-04 10:35:40 +02:00
Uwe Krüger 076089d3c5
checker: apply stricter type checks to function args and return types 2020-06-01 21:15:59 +02:00
Naheel 4fcabb71c4
os: implement cp for nix 2020-06-01 21:11:40 +02:00
Delyan Angelov 4956ca62e3 websocket: move .nonce_size to pub mut: 2020-06-01 20:37:24 +03:00
Delyan Angelov 328a235f94 websocket: add Client.nonce_size field 2020-06-01 20:31:58 +03:00
Delyan Angelov ae8f7cf569 tests: fix some tests, that failed due to the stricter immutable checks 2020-06-01 18:24:38 +03:00
Delyan Angelov 04ca7efc0c websocket: fix compilation of client.v 2020-05-28 01:38:54 +03:00
Delyan Angelov a4af4f9fe7 http_test.v: comment yahoo test urls for now 2020-05-27 15:53:57 +03:00
Uwe Krüger 013fdb8a4b
checker: restrict numeric promotions to cases where no data is lost 2020-05-27 05:42:48 +02:00
Enzo Baldisserri 145b125155
websocket: make compile 2020-05-26 12:50:37 +02:00
Enzo Baldisserri d22609051a
checker: CallExpr with handled optional returns plain type 2020-05-25 11:32:14 +02:00
Delyan Angelov 06540f0e91 net: fix warnings due to uppercase consts 2020-05-24 07:39:47 +03:00
yuyi 4608898bcd
checker: fix multiple assign immutable error 2020-05-23 17:30:28 +02:00
yuyi dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
Alexander Medvednikov ca81442fac parser: fix a small bug with < 2020-05-20 21:47:03 +02:00
Delyan Angelov e3a162db77 http: remove redundant consts in backend_nix.c.v 2020-05-20 21:40:29 +03:00
Alexander Medvednikov 80070516fd http: set buffer size to 1536 2020-05-20 19:23:51 +02:00
Alexander Medvednikov 5d08c9d5a8 http: use bufsize const 2020-05-20 19:22:02 +02:00
Delyan Angelov 6eee69f7bc http: cleanup ssl_do, enhance the detection of chunked encoding 2020-05-20 14:32:59 +03:00
Delyan Angelov ac396ea02f http: cleanup backend_nix.c.v, fixes vpm too 2020-05-20 12:04:28 +03:00
Delyan Angelov 1c2376741b http: fix redirects handling 2020-05-20 09:58:57 +03:00
Alexander Medvednikov 0a6d709ce2 http: fix recent changes; picoev: make compile 2020-05-20 05:37:03 +02:00
Uwe Krüger 2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov 07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Uwe Krüger 9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
Alexander Medvednikov 4f307c1a78 checker: requre & in struct init; http: chunked encoding 2020-05-18 05:11:00 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
Enzo Baldisserri f44a40eee0
checker: check incorrect names 2020-05-16 16:12:23 +02:00
Delyan Angelov 034bf46e4d vlib: remove unused arrays module 2020-05-16 00:20:14 +03:00
Alexander Medvednikov e5d4786371 builder: simplify C error message 2020-05-14 18:14:38 +02:00
Alexander Medvednikov ce03761375 parser: fix mut args with the new syntax; checker: fmt 2020-05-11 14:16:20 +02:00
Alexander Medvednikov a2d120b583 cgen: fix reassignment of optionals 2020-05-10 17:41:33 +02:00
Alexander Medvednikov 10da871743 checker: handle unknown fields in fail_if_immutable 2020-05-10 02:07:15 +02:00
Alexander Medvednikov 32a7bd3a48 parser/checker: do not allow using private types from other modules 2020-05-04 21:56:41 +02:00
Tim Basel 3e4cd12fd0
.gitignore: ignore all binary files by default 2020-04-29 16:49:13 +02:00
jm-duro 210b6e36b6
http: mutable request fields 2020-04-28 13:57:48 +02:00
yuyi 2574dce174
all: fix remaining `[]array` warnings 2020-04-26 16:25:54 +02:00
yuyi 9f4d498ff1
all: update`import ()` 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
Delyan Angelov cd27300d75 cookie: fix a new match error about redundant `else` 2020-04-25 23:02:04 +03:00
Delyan Angelov 19d7553d67 tests: fix vlib/net/http/cookie_test.v 2020-04-25 22:53:18 +03:00
Junya Okuno 5600fd8613
net.http: remove redundant httponly handling 2020-04-25 06:15:05 +02:00
Leah Lundqvist f3e3d7e0c5
websocket: update to work with latest V 2020-04-24 07:32:51 +02:00
Delyan Angelov adb8fb1dc6 comptime: fix custom -d flags and `$if x? {}`. Fixes ftp_test.v . 2020-04-23 17:52:44 +03:00
yuyi 4e1abc8503
all: remove commas between enum vals 2020-04-23 01:16:16 +02:00
Alexander Medvednikov df37597f00 tests: disable cookie test for now 2020-04-14 03:43:59 +02:00
Chris Watson c6c2fccb23
net.http: add cookie support 2020-04-14 03:34:05 +02:00
lutherwenxu dc4db87be3
vlib: use new filename format 2020-04-11 19:51:32 +02:00
Alexey d078e6bb08
net: check if socket descriptor is valid 2020-04-11 19:06:01 +02:00
Delyan Angelov fdac3a1f2e ftp.v: fix compilation 2020-04-10 23:23:42 +03:00
Delyan Angelov 217e6f3b8e checker/parser: allow for fixed array with sizes defined with a const 2020-04-10 22:01:22 +03:00
Alexander Medvednikov d7ae9d7279 cgen: optional fixes; make http compile 2020-04-09 14:03:47 +02:00
Alexander Medvednikov 3521b7ff89 websocket: fmt example + minor fixes 2020-04-08 21:21:58 +02:00
Abdullah Atta 6f8f8d7b1b
websocket: eventbus and other cleanup 2020-04-08 21:19:01 +02:00
Leah Lundqvist b28ab2511c
websocket: move library files to root of module 2020-04-08 19:44:30 +02:00
Alexander Medvednikov fa6aaad6df checker: handle `x := x` 2020-04-08 19:15:19 +02:00
Alexander Medvednikov 8426db7fe5 copy thecodrr/vws to vlib/net/websocket 2020-04-08 14:22:31 +02:00
Delyan Angelov 582ee9e643 urllib: put braces in << | expressions in urllib.v to make test pass 2020-04-07 22:58:29 +03:00
Alexander Medvednikov d865fc26eb http: fix method_and_url_to_response definition 2020-04-06 17:42:47 +02:00
Delyan Angelov ba088056ed
solaris: make 'v test-compiler' pass (stage 2) 2020-03-21 09:48:02 +01:00
spaceface777 ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
Delyan Angelov 0ad5d53423
net.http: more robust handling of relative /path URL redirects 2020-02-12 14:52:39 +01:00
joe-conigliaro 7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
div72 5c29e7b257
http: fixed a bug with ignored user-agent 2020-01-29 04:05:37 +01:00
Shun Sakai c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
sha0coder 990e44cd14 ftp: protocol compatibility 2020-01-19 13:53:13 +01:00
Delyan Angelov cc606623bb enable `$if !network {` checks in net tests 2020-01-16 19:44:16 +01:00
Chris Watson 84a6c019e8 http: refactor and reduce duplication 2020-01-16 18:16:11 +01:00
Kai 9f31390ff1 http: PATCH, DELETE, and PUT methods 2020-01-14 23:19:50 +01:00
Delyan Angelov aeda48d94e vpm: add support for other VCS for modules, like hg
Add ability to pass flags to vpm.

Implement -help , -verbose and -server-url ,
to enable easier diagnostics and testing with a local server.
2020-01-03 22:07:58 +01:00
Abdullah Atta 63b70ddb06 move http module to net.http 2019-12-30 05:42:23 +01:00
Delyan Angelov 68e1d8e8eb net.ftp: make ftp's tests just compile (not run) on CI 2019-12-28 13:55:53 +01:00
Alexey e02d6a3b04 ftp: flatten tests 2019-12-28 09:41:54 +01:00
Alexander Medvednikov ec6a8cc9fd move ftp to net/ftp 2019-12-28 09:16:27 +01:00
Alexander Medvednikov 848cd3cb3e run vfmt on http, net, sync, strconv 2019-12-22 01:57:50 +03:00
Alexander Medvednikov dc83e30a44 access modifiers: update tests/examples 2019-12-13 20:09:11 +03:00
Alexander Medvednikov b8f728590b string: last_index ?int 2019-12-12 21:54:48 +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 ad6adf327e vlib: fix missing `else{}` in match statements 2019-12-07 17:23:37 +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 40df0644ca fix all Foo{!} 2019-12-04 13:08:28 +03:00
Alexander Medvednikov 2651b8957a parser: fix unreachable code error in if a := opt() 2019-11-30 15:17:27 +03:00
Alexander Medvednikov 81d4f66fbb string: make `index()` return `?int` instead of `int`/-1 2019-11-30 13:21:21 +03:00
sh0f dbaa37ea46 urllib: fix string length in escape() 2019-11-27 12:15:05 +03:00
Alexander Medvednikov a3b14e00a2 vweb fixes 2019-11-26 16:08:16 +03:00
Alexander Medvednikov 9bfea5e60b pg: define all C functions 2019-11-25 06:55:29 +03:00
Alexander Medvednikov feacc2441f socket: fix sizeof 2019-11-25 06:23:09 +03:00
Alexander Medvednikov e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Delyan Angelov c73f34cc5f net: make net.socket.write, net.socket.read_line more robust 2019-11-19 00:13:14 +03:00
Alexander Medvednikov 96b530cf85 update [] 2019-11-14 09:53:05 +03:00
Delyan Angelov 32473eeafe net and http: more consistent error messages 2019-11-12 19:23:53 +03:00
Alexander Medvednikov e266c8a750 urllib: test str() 2019-11-06 22:35:59 +03:00
Abdullah Atta c4e9f09f0f urllib: crash when converting URL to str 2019-11-06 22:34:33 +03:00
Alexander Medvednikov f6d06fcda2 update tests and examples after the mutability fix 2019-11-06 06:57:04 +03:00
aliczin 53981c8747 compiler: supress windows (MSVC) warnings 2019-11-05 14:09:33 +03:00
joe-conigliaro df5faf35e5 compiler: optionals default value 2019-11-04 02:38:49 +03:00
joe-conigliaro 59378dce46 compiler/vlib: replace substr/left/right with `[start..end]` everywhere 2019-10-27 10:03:15 +03:00
Don Alfons Nisnoni ed55826686 log/net: switch => match 2019-10-27 09:45:03 +03:00
Alexander Medvednikov a83aa28a67 urllib: switch => match 2019-10-25 17:54:34 +03:00
Alexander Medvednikov 892d1c6aab vweb: first step to revive it 2019-10-24 22:46:58 +03:00
Alexander Medvednikov 3d6bdc2dc3 public enums + more public structs (libs/examples/tests) 2019-10-24 13:24:50 +03:00
joe-conigliaro a06e2298f0 compiler: detect and error on public init function & remove empty init functions 2019-10-12 13:54:58 +03:00
joe-conigliaro 51388fea75 compiler: module init function & init consts for cached modules 2019-10-12 01:17:37 +03:00
vitalyster a5ccc4673b http: handle and print socket errors 2019-10-10 20:24:36 +03:00
vitalyster f86a52aae6 socket: reuse socket parameters in addrinfo hints 2019-10-10 20:09:43 +03:00
joe-conigliaro f8fefd5a60 urllib: rem underscore methods from; add strings index_bytes 2019-10-10 20:04:11 +03:00
vitalyster 0796e1dd69 socket: no need to initialize WinSock on each request 2019-10-09 21:01:31 +03:00
vitalyster 9834ccfcd9 windows: Unicode and IPv6 http/sockets
cleanup schannel implementation (drop NT4.0 compatibility, use unicode strings, etc)
restore http tests
fix socket test: it did not throw before
2019-09-26 22:54:15 +03:00
joe-conigliaro 8974aa4513 compiler/vlib: change `_ :=` to `_ =` and disable `_ :=` 2019-09-25 15:10:45 +03:00
Alexander Medvednikov d2d75f3824 parser: do not allow "int?", only "?int" 2019-09-23 23:17:06 +03:00
Delyan Angelov 0e39df24d4 net: make socket.recv return the allocated buffer and the message length 2019-09-23 19:48:18 +03:00
luoheng f1d5f8e2bf parser: allow `!` only with bools 2019-09-21 18:21:45 +03:00
vitalyster a42b4e219c net.socket: windows fixes and test
* added missing ai_canonname in addrinfo structure
* ai_canonname, ai_addr and ai_addrlen must be zeroed before getaddrinfo call
* write() must not be used on windows sockets
* added (Socket).get_port() function which is useful when socket was initialized with 0 (random) port
* tests is fixed, test server started listening on random port to avoid conflicts
2019-09-20 17:04:39 +03:00
joe-conigliaro f077fbd32d vlib: change `[0;n]` to `[0].repeat(n)` 2019-09-15 12:26:05 +03:00
Alexander Medvednikov 7fc678c961 fix urllib_test.v 2019-09-09 14:21:18 +03:00
Delyan Angelov db110759ab vweb: fix warnings 2019-09-03 19:10:56 +03:00
joe-conigliaro 3db50f724b net.urllib: Update with latest changes from go lib 2019-08-27 22:44:41 +03:00
Alexander Medvednikov 7fd9827318 all: add missing includes 2019-08-24 02:48:47 +03:00
Alexander Medvednikov f61b14584a remove "import const" everywhere 2019-08-23 00:09:03 +03:00
Delyan Angelov ffb6c6f5b4 net: add udp socket support and a simple udp server example. 2019-08-22 04:01:04 +03:00
Delyan Angelov 51818346df http: support plain http protocol 2019-08-21 20:04: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
kambrium a5af903362 Fixed typo 2019-08-16 09:02:09 +03:00
joe-conigliaro 8a2714b35a fix typo 2019-08-12 11:03:49 +03:00
joe-conigliaro 0bcc53c366 vlib: fix mutable args 2019-08-07 09:53:33 +02:00
Alexander Medvednikov 34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
joe-conigliaro 69932758db net.urllib: update enum / const style 2019-08-06 13:01:05 +02:00
Vitaly Takmazov 43b81688f6 socket: WSACleanup should not be called on socket close 2019-08-06 01:50:45 +02:00
Alexander Medvednikov 8d3617b3de fix fn_test.v and urllib.v 2019-08-05 03:31:22 +02:00
Nicolas Sauzede f306fbb2f0 net connect: fix error/return type 2019-08-04 01:46:55 +02:00
joe-conigliaro 9e76d8a638 net.urllib: fix values (used for query string/form data) 2019-08-02 23:28:55 +02:00
joe-conigliaro 7bf1c7f005 net.urllib: change confusing name of internal method 2019-08-02 08:52:37 +02:00
joe-conigliaro be0796ce14 urllib: fix error message 2019-08-02 06:00:34 +02:00
joe-conigliaro 8369525d8a net.urllib: fix unescape 2019-08-02 00:31:47 +02:00
joe-conigliaro d3c89273e8 net.urllib module 2019-08-01 15:01:03 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Justice Suh d72c859bf9 net: socket error handling 2019-07-24 00:31:39 +02:00
Alexander Medvednikov 390394b56b string: make substr() copy the data, like in Java and C#; remove .cstr()
this makes managing memory used by strings much easier
V strings are now fully compatible with C strings
2019-07-22 17:03:45 +02:00
0x9ef d6ddfa124d Fixed get_error_msg for *nix
* Fixed undefined: get_error_msg
2019-07-18 20:21:48 +02:00
unknown-v 9d4b4df54f net : fix error msg
from 
os.hostname() cannot get the host name
to
net.hostname() cannot get the host name
2019-07-17 18:42:10 +02:00
Alexander Medvednikov 251e32948e fix Windows build: move hostname to net/ 2019-07-17 13:50:58 +02:00
Alexander Medvednikov 449fd372f9 *_nix.v support 2019-07-15 19:23:09 +02:00
Justice Suh 5dfd5fa3e7 net: add windows socket support 2019-07-14 00:04:45 +02:00
archanpatkar 5e0ae9a429 net: added listen_backlog to enable custom backlog 2019-07-03 16:13:02 +02:00
S-YOU 53e439bc99 setsockopt arg optvalue supposed to be ptr 2019-07-02 21:49:05 +02:00
Justice Suh 859c8ffdb8 net: socket send and recv 2019-07-02 19:45:38 +02:00
Justice Suh 571410dd48 net: low level socket api 2019-07-01 17:31:38 +02:00
Alexander Medvednikov fde0e39abf net: clean up 2019-06-30 21:00:22 +02:00
Alexander Medvednikov 6a1b16c72c net: listen and accept 2019-06-30 20:57:25 +02:00
Alexander Medvednikov 9062338cb4 fix compilation 2019-06-30 20:48:26 +02:00
Alexander Medvednikov 61b51f6149 os.File clean up + socket.v (dial()) 2019-06-30 20:28:50 +02:00