1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-11-03 15:39:50 +00:00
Commit graph

310 commits

Author SHA1 Message Date
Nikolay Kim
c1e0b4f322 expose internal http server types and allow to create custom http pipelines 2018-10-01 14:43:06 -07:00
Nikolay Kim
9f1417af30 refactor http service builder 2018-09-27 18:33:29 -07:00
Nikolay Kim
a63d3f9a7a cleanup ServerFactory trait 2018-09-27 18:33:29 -07:00
Nikolay Kim
6a61138bf8 enable ssl feature 2018-09-27 18:33:29 -07:00
Douman
0dc96658f2
Send response to inform client of error (#515) 2018-09-21 07:24:10 +03:00
Nikolay Kim
d65c72b44d use server keep-alive timer as slow request timer 2018-09-15 09:55:38 -07:00
Nikolay Kim
4ca9fd2ad1 remove debug print 2018-09-03 22:09:12 -07:00
Nikolay Kim
f0f67072ae Read client response until eof if connection header set to close #464 2018-09-03 21:35:59 -07:00
Nikolay Kim
968c81e267 Handling scoped paths without leading slashes #460 2018-09-02 08:14:54 -07:00
Robert Gabriel Jakabosky
0425e2776f Fix Issue #490 (#498)
* Add failing testcase for HTTP 404 response with no reason text.

* Include canonical reason test for HTTP error responses.

* Don't send a reason for unknown status codes.
2018-09-01 12:00:32 +03:00
Robert G. Jakabosky
487519acec Add client test for 'Connection: close' as reported in issue #495 2018-09-01 00:34:19 +08:00
Nikolay Kim
1716380f08 clippy fmt 2018-08-23 09:48:01 -07:00
Kornel
bdc9a8bb07 Optionally support tokio-uds's UnixStream as IoStream (#472) 2018-08-17 19:04:15 +03:00
Kornel Lesiński
a8405d0686 Fix tests on Unix 2018-08-17 13:13:48 +01:00
Nikolay Kim
eb1e9a785f allow to use fn with multiple arguments with .with()/.with_async() 2018-08-16 20:29:06 -07:00
Nikolay Kim
8eb9eb4247 flush io on complete 2018-08-08 09:12:32 -07:00
Nikolay Kim
30769e3072 fix http/2 error handling 2018-08-07 20:48:25 -07:00
Douman
900fd5a98e Correct settings headers for HTTP2
Add test to verify number of Set-Cookies
2018-08-04 18:05:41 +03:00
Jan Michael Auer
e61ef7dee4 Use zlib instead of deflate for content encoding (#442) 2018-08-03 14:56:26 +02:00
Nikolay Kim
e9c1889df4 test timing 2018-08-01 16:41:24 -07:00
jrconlin
246eafb8d2
Merge branch 'master' of https://github.com/actix/actix-web into feat/432 2018-08-01 09:36:08 -07:00
jrconlin
dca4c110dd
feature: allow TestServer to open a websocket on any URL
* added `TestServer::ws_at(uri_str)`
* modified `TestServer::ws()` to call `self.ws_at("/")` to preserve
behavior

Closes #432
2018-08-01 09:30:27 -07:00
Nikolay Kim
58230b15b9 use one thread for accept loop; refactor rust-tls support 2018-07-31 19:51:26 -07:00
Nikolay Kim
3bd43090fb use new gzdecoder, fixes gz streaming #228 2018-07-31 09:06:05 -07:00
Marat Safin
196da6d570 add rustls 2018-07-30 08:21:12 +03:00
Nikolay Kim
6b10e1eff6 rename PayloadHelper 2018-07-18 10:01:28 +06:00
Douman
29a275b0f5
Session should write percent encoded cookies and add cookie middleware test (#393)
* Should write percent encoded cookies to HTTP response

* Add cookie middleware test
2018-07-17 08:38:18 +03:00
Nikolay Kim
22385505a3 clippy warnings and fmt 2018-07-16 11:17:45 +06:00
Douman
7d753eeb8c
Private serde fork (#390)
* Fork serde_urlencoded

* Apply enum PR https://github.com/nox/serde_urlencoded/pull/30

* Add test to verify enum in query

* Docs are updated to show example of how to use enum.
2018-07-13 09:59:09 +03:00
Nikolay Kim
a5f7a67b4d clippy warnings 2018-07-06 08:24:44 +06:00
Nikolay Kim
185e710dc8 do not drop content-encoding header in case of identity #363 2018-07-06 08:24:36 +06:00
Nikolay Kim
9070d59ea8 do not read head payload 2018-07-06 08:11:36 +06:00
Douman
67e4cad281
Introduce method to set header if it is missing only (#364)
Also let default headers use it.

Closes #320
2018-07-05 19:27:18 +03:00
Nikolay Kim
80339147b9 call disconnect on write error 2018-07-05 12:50:54 +06:00
Nikolay Kim
fec6047ddc refactor HttpRequest mutability 2018-07-02 23:35:32 +06:00
Nikolay Kim
c0cdc39ba9 do not store cookies on client response 2018-06-24 22:21:04 +06:00
Nikolay Kim
65ca563579 use read only self for Middleware 2018-06-21 23:06:23 +06:00
Nikolay Kim
58d1f4a4aa switch to actix master 2018-06-21 13:34:36 +06:00
Nikolay Kim
b7d813eeba update tests 2018-06-21 12:04:00 +06:00
Nikolay Kim
ebc59cf7b9 add unsafe checks #331 2018-06-21 11:20:21 +06:00
Nikolay Kim
247e8727cb ClientBody is not needed 2018-06-19 10:15:16 +06:00
Nikolay Kim
8261cf437d update actix api 2018-06-13 23:37:19 -07:00
Dursun Akkurt
0a080d9fb4 add test for form extractor 2018-06-13 01:33:28 +03:00
Dursun Akkurt
ed7cbaa772 fix form_extractor test 2018-06-12 23:04:54 +03:00
Dursun Akkurt
e6bbda0efc add serialize 2018-06-12 22:42:15 +03:00
Dursun Akkurt
94283a73c2 make into_string, to_string 2018-06-12 22:31:33 +03:00
Dursun Akkurt
ffca416463 add test for ClientRequestBuilder::form() 2018-06-12 22:16:20 +03:00
Nikolay Kim
818d0bc187 new StreamHandler impl 2018-06-09 07:53:46 -07:00
Nikolay Kim
5004821cda
Merge branch 'master' into user-agent 2018-06-04 14:04:45 -07:00
Nikolay Kim
984791187a Middleware::response is not invoked if error result was returned by another Middleware::start #255 2018-06-04 13:42:47 -07:00
François Mockers
ca3fb11f8b add actix-web version in header 2018-06-04 08:15:04 +02:00
François Mockers
86be54df71 add default value for header User-Agent in requests 2018-06-03 15:48:00 +02:00
Josh Leeb-du Toit
9c9eb62031 Update Middleware trait to use &mut self 2018-06-02 16:47:18 +10:00
Nikolay Kim
8f42fec9b2 stable compat 2018-06-01 12:17:13 -07:00
Nikolay Kim
3e0a71101c drop with2 and with3 2018-06-01 10:54:23 -07:00
Nikolay Kim
a64205e502 refactor TransferEncoding; allow to use client api with threaded tokio runtime 2018-05-29 16:32:39 -07:00
Nikolay Kim
844be8d9dd fix ssl test server 2018-05-29 10:59:24 -07:00
Nikolay Kim
ecd05662c0 use new actix system api 2018-05-29 10:31:37 -07:00
Nikolay Kim
690169db89 migrate to tokio 2018-05-24 21:03:16 -07:00
Nikolay Kim
68eb2f26c9 Allow to use path without traling slashes for scope registration #241 2018-05-23 13:21:29 -07:00
Nikolay Kim
db0091ba6f disable server test for windows 2018-05-21 21:01:52 -07:00
Nikolay Kim
577a509875 increase delay 2018-05-21 16:12:33 -07:00
Nikolay Kim
14d1b8e2b6 prepare release 2018-05-20 21:09:54 -07:00
Nikolay Kim
082ff46041 Fix scope resource path extractor #234 2018-05-20 17:04:23 -07:00
Nikolay Kim
45e9aaa462 rustfmt 0.7 2018-05-17 12:20:20 -07:00
Nikolay Kim
b393ddf879 fix panic during middleware execution #226 2018-05-16 11:00:29 -07:00
Nikolay Kim
18575ee1ee Add Router::with_async() method for async handler registration 2018-05-09 16:27:31 -07:00
Nikolay Kim
47d80382b2 Fix http/2 payload streaming #215 2018-05-08 15:44:50 -07:00
Nikolay Kim
a817ddb57b add variable segments support for scope prefix 2018-05-07 13:50:43 -07:00
Nikolay Kim
fa81d97004 more handler tests 2018-05-06 20:05:31 -07:00
Nikolay Kim
c54f045b39 more handler tests 2018-05-06 15:11:36 -07:00
Nikolay Kim
45325a5f75 more middleware tests 2018-05-06 08:33:41 -07:00
Nikolay Kim
a7c40024ce async handle middleware test 2018-05-05 18:40:16 -07:00
Nikolay Kim
0af4d01fe4 move middleware tests to seprate module 2018-05-05 12:18:43 -07:00
Nikolay Kim
48e05a2d87 add nested scope support 2018-04-30 22:04:24 -07:00
Nikolay Kim
c72d1381a6 clippy warnings 2018-04-29 09:09:08 -07:00
Sven-Hendrik Haase
de222fe33b Merge and fix PR comments 2018-04-29 14:02:50 +02:00
Nikolay Kim
de49796fd1 clippy warnings; fmt 2018-04-28 22:55:47 -07:00
Nathan Fox
b7b61afacc add ws close description parse test 2018-04-21 17:20:23 -04:00
Nathan Fox
de8a09254d use Optional with websocket close reason 2018-04-21 16:50:27 -04:00
Nathan Fox
dc9a24a189 add websocket empty close status test 2018-04-20 21:55:07 -04:00
Nikolay Kim
48b02abee7 fmt 2018-04-18 20:16:29 -07:00
Nikolay Kim
f907be585e Middleware response() is not invoked if there was an error in async handler #187 2018-04-18 14:15:53 -07:00
Nikolay Kim
a826d113ee add custom request path quoter #182 2018-04-17 12:55:13 -07:00
Nikolay Kim
827ca5eada remove skeptic tests 2018-04-13 16:36:39 -07:00
Nikolay Kim
113f5ad1a8 add rustfmt config 2018-04-13 16:02:01 -07:00
Nikolay Kim
a4b837a1c1 flaky test 2018-04-06 19:45:14 -07:00
Nikolay Kim
691457fbfe update tests 2018-04-06 09:45:10 -07:00
Nikolay Kim
3ee228005d rename Application 2018-03-31 00:16:55 -07:00
Nikolay Kim
44e3df82f6 simplify http response construction; deprecate httpcodes 2018-03-30 23:07:33 -07:00
Nikolay Kim
9e751de707 re-arrange modules and exports 2018-03-30 17:31:18 -07:00
Nikolay Kim
f5636f321b drop deprecated code 2018-03-29 11:06:44 -07:00
Nikolay Kim
45dec8d0c0 optimize with and with2 method impls and tests 2018-03-28 21:33:40 -07:00
Nikolay Kim
90e3aaaf8a fix router cannot parse Non-ASCII characters in URL #137 2018-03-28 16:10:58 -07:00
Nikolay Kim
65700281e8 add support for multiple extractors 2018-03-28 14:24:32 -07:00
Nikolay Kim
d5fa0a9418 disable brotli if feature is not enabled, faster compression 2018-03-21 08:03:21 -07:00
Nikolay Kim
ee7d58dd7f disable h2 2018-03-20 12:35:44 -07:00
Nikolay Kim
c4f4cadb43 Fix http/2 date header generation 2018-03-20 11:40:05 -07:00
Nikolay Kim
8198f5e10a Refactor TestServer configuration 2018-03-20 11:23:35 -07:00
Nikolay Kim
6cd40df387 Fix server websockets big payloads support 2018-03-19 17:27:03 -07:00
Nikolay Kim
35ee5d36d8 actix 0.5.5, ws test 2018-03-19 13:12:36 -07:00
Nikolay Kim
e7ec0f9fd7 ws tests and proper write payload ref 2018-03-19 09:30:58 -07:00
Nikolay Kim
7e8b231f57 disable test 2018-03-16 09:13:36 -07:00
Nikolay Kim
4096089a3f allow to disable http/2 support 2018-03-16 08:48:44 -07:00
François Mockers
ad6b823255 test for query parameters in client 2018-03-14 21:45:49 +01:00
Nikolay Kim
6c0fb3a7d2 handle panics in worker threads 2018-03-07 21:10:53 -08:00
Nikolay Kim
1db1ce1ca3 one more cookie handling fix 2018-03-07 15:41:46 -08:00
Alex Whitney
6cc3aaef1b add client cookie handling test 2018-03-07 11:43:55 +00:00
Nikolay Kim
a0e6313d56 Fix compression #103 and #104 2018-03-06 11:02:03 -08:00
François Mockers
779e773185 add tests with large random bodies for gzip 2018-03-06 14:26:48 +01:00
messense
0adb7e8553
Use str::repeat 2018-03-05 09:54:58 +08:00
Nikolay Kim
f673dba759 Fix handling of requests with an encoded body with a length > 8192 #93 2018-03-04 09:48:34 -08:00
Nikolay Kim
ab978a18ff unix only test 2018-03-03 18:50:00 -08:00
Nikolay Kim
bebfc6c9b5 sleep for test 2018-03-02 11:32:37 -08:00
Nikolay Kim
3b2928a391 Better naming for websockets implementation 2018-03-02 11:29:55 -08:00
Nikolay Kim
7591592279 fix handle big data chunkd for parsing 2018-02-27 23:04:57 -08:00
Nikolay Kim
4a48b43927 big value 2018-02-27 21:49:08 -08:00
Nikolay Kim
ccb6ebb259 headers test 2018-02-27 20:49:53 -08:00
Nikolay Kim
da76de76f0 upgrade sha crate 2018-02-27 20:32:51 -08:00
Nikolay Kim
c316a99746 stop server test 2018-02-27 20:04:01 -08:00
Nikolay Kim
5dcb558f50 refactor websockets handling 2018-02-27 10:09:24 -08:00
Nikolay Kim
644f1a9518 refactor ws frame parser 2018-02-26 13:58:23 -08:00
Nikolay Kim
4e41e13baf refactor client payload processing 2018-02-25 11:18:17 +03:00
Nikolay Kim
4a9c1ae894 allow to use Connection for sending client request 2018-02-21 22:53:23 -08:00
Nikolay Kim
03912d2089 support client request's async body 2018-02-19 22:48:27 -08:00
Nikolay Kim
548f4e4d62 replace reqwest with actix::client 2018-02-19 13:18:18 -08:00
Nikolay Kim
b1eec3131f use newer api 2018-02-12 22:56:47 -08:00
Nikolay Kim
335ca8ff33 use new actix api 2018-02-12 16:08:04 -08:00
Nikolay Kim
0c98775b51 refactor h1 stream polling 2018-02-09 22:26:48 -08:00
Nikolay Kim
5a5497b745 add close ws test 2018-01-30 16:04:04 -08:00
Nikolay Kim
577f91206c added support for websocket testing 2018-01-30 15:13:33 -08:00
Nikolay Kim
91c44a1cf1 Fix HEAD requests handling 2018-01-20 16:12:38 -08:00
Nikolay Kim
8a058efb4e move server protocol impl to submodule 2018-01-11 18:35:05 -08:00
Nikolay Kim
0707dfe5bb flush stream on drain 2018-01-11 16:22:27 -08:00
Nikolay Kim
0a41ecd01d disable test 2018-01-11 15:38:57 -08:00
Nikolay Kim
0648ad6f33 fix implicit chunked encoding 2018-01-11 15:26:46 -08:00
Nikolay Kim
43f14224b1 properly enable encoding tests 2018-01-10 22:42:26 -08:00
Nikolay Kim
448b73a4b5 encoding tests 2018-01-10 21:47:30 -08:00
Nikolay Kim
ce78f17a79 refactor Middleware trait, use Result 2018-01-09 22:48:35 -08:00
Nikolay Kim
e8412672a2 add resource level middlewares support 2018-01-09 20:00:18 -08:00
Nikolay Kim
6c7dda495b add very simple http/2 test 2018-01-09 12:49:46 -08:00
Nikolay Kim
6a2bb9a473 split worker code to separate module 2017-12-28 12:38:37 -08:00
Nikolay Kim
02b37570f4 flaky test 2017-12-28 09:11:25 -08:00
Nikolay Kim
0589f2ee49 add server management commands 2017-12-27 12:58:32 -08:00
Nikolay Kim
da8aa8b988 use mio for accept loop 2017-12-27 11:22:27 -08:00
Nikolay Kim
3abd0db6b1 restore server start test 2017-12-26 20:07:31 -08:00
Nikolay Kim
29adc20581 rename module 2017-12-26 19:59:41 -08:00
Nikolay Kim
d3b7d2d6b3 allow to use application factory for test server 2017-12-26 16:47:55 -08:00
Nikolay Kim
f6510161b5 add simple TestServer for integrational tests cases 2017-12-26 16:35:00 -08:00
Nikolay Kim
13cbfc877d simplify server start method 2017-12-19 09:08:36 -08:00