Nikolay Kim
333b4f57d3
use different directory for tests
2018-04-13 17:00:18 -07:00
Nikolay Kim
a8567da3e2
move guide to separate repo; update links
2018-04-13 16:20:23 -07:00
Nikolay Kim
113f5ad1a8
add rustfmt config
2018-04-13 16:02:01 -07:00
Nikolay Kim
95f6277007
fix typo
2018-04-13 14:36:07 -07:00
Nikolay Kim
22c776f46e
Fix StaticFiles does not support percent encoded paths #177
2018-04-13 10:13:12 -07:00
Nikolay Kim
c0976bfa17
fix test
2018-04-12 21:28:17 -07:00
Nikolay Kim
94c5bb5cdd
add helper method for returning inner value
2018-04-12 15:55:15 -07:00
Nikolay Kim
2ca0ea70c4
use one default cpu pool for StaticFiles #174
2018-04-12 15:50:20 -07:00
Nikolay Kim
0b01884fca
add timeouts stats to client connector
2018-04-12 13:08:13 -07:00
Nikolay Kim
83168731fc
update user guide content compression section
2018-04-12 09:54:35 -07:00
Jan Niehusmann
72bc1546c4
fix end-of-stream handling in parse_payload
...
parse_payload can be called with a pre-filled buf.
In this case, it's totaly fine for read_from_io to return
sync::Ready(0) while buf is not empty. This is not an
PayloadError::Incomplete.
So, move the check for PayloadError::Incomplete down to the
decoding code: If the decoder is not ready, but the input stream
is finished, PayloadError::Incomplete will be returned.
2018-04-12 09:47:32 +02:00
Nikolay Kim
b517957761
fix stats for tls and alpn features
2018-04-11 16:34:01 -07:00
Nikolay Kim
d18f9c5905
add clinet connector stats
2018-04-11 16:11:11 -07:00
Douman
62a9b4c53c
Rename HttpRequest::without_state into drop_state and make it public
2018-04-11 22:41:06 +03:00
Nikolay Kim
d041df6c4b
update links
2018-04-10 19:27:09 -07:00
Nikolay Kim
be288fa00a
for NamedFile process etag and last modified only if status code is 200
2018-04-10 10:57:53 -07:00
Nikolay Kim
fd87eb59f8
remove reference to master
2018-04-10 10:29:10 -07:00
Nikolay Kim
81ac905c7b
fix prefix and static file serving #168
2018-04-10 10:16:00 -07:00
Nikolay Kim
bb11fb3d24
update client mod doc string
2018-04-09 21:57:40 -07:00
Nikolay Kim
23eea54776
update cors doc string
2018-04-09 21:39:32 -07:00
Nikolay Kim
2881859400
proper test for CorsBuilder::resource
2018-04-09 21:29:57 -07:00
Nikolay Kim
1686682c19
extend CorsBuilder api to make it more user friendly
2018-04-09 21:11:15 -07:00
Nikolay Kim
e757dc5a71
clippy warnings
2018-04-09 14:25:30 -07:00
Nikolay Kim
be358db422
CorsBuilder::finish() panics on any configuration error
2018-04-09 14:20:12 -07:00
Nikolay Kim
7df2d6b12a
clippy warnings; extend url_for example in user guide
2018-04-09 13:30:38 -07:00
Nikolay Kim
0b0bbd6bd9
Merge branch 'master' into private-cookies
2018-04-09 12:54:08 -07:00
Nikolay Kim
5617896780
cleanup doc tests
2018-04-09 10:40:12 -07:00
Alex Whitney
2b803f30c9
remove CookieSessionBackend::new
2018-04-09 18:33:29 +01:00
Alex Whitney
9b152acc32
add signed and private cookies
2018-04-09 17:59:28 +01:00
Nikolay Kim
eb66685d1a
simplify csrf middleware
2018-04-09 09:49:07 -07:00
Nikolay Kim
b505e682d4
fix session doc test
2018-04-09 09:31:11 -07:00
Nikolay Kim
ff14633b3d
simplify CookieSessionBackend; expose max_age cookie setting
2018-04-08 11:05:37 -07:00
Nikolay Kim
37db7d8168
allow to override status code for NamedFile
2018-04-08 10:53:58 -07:00
Vincent Ambo
9fb0498437
docs(lib): Add a note about getting started with the API docs
...
Adds some initial pointers for newcomers to the documentation that
direct them at some of the most commonly used API types.
I based these links on what *I* usually end up looking at when I open
the actix_web docs.
2018-04-07 17:27:53 +02:00
Vincent Ambo
b2a43a3c8d
docs(application): Formatting & spelling fixes in module docs
2018-04-07 17:19:11 +02:00
Vincent Ambo
38063b9873
docs(client): Minor formatting and spelling fixes in module docs
2018-04-07 17:00:57 +02:00
Nikolay Kim
7243c58fce
stable rust compatibility
2018-04-06 21:57:45 -07:00
Nikolay Kim
fffaf2bb2d
App::route method
2018-04-06 21:18:42 -07:00
Nikolay Kim
542315ce7f
simplify StaticFiles
2018-04-06 19:34:55 -07:00
Nikolay Kim
2d4ee0ee01
make Pause::new public
2018-04-06 12:34:24 -07:00
Nikolay Kim
5bd5f67d79
add Pause message constructors
2018-04-06 12:31:31 -07:00
Nikolay Kim
8d5fa6ee71
added Pause/Resume for client connector
2018-04-06 11:08:41 -07:00
Nikolay Kim
084104d058
update doc strings for extractors
2018-04-06 10:24:57 -07:00
Nikolay Kim
2c411a04a9
no need for export in doc example
2018-04-06 10:15:06 -07:00
Nikolay Kim
af0c8d893d
add shortcut method for client requests
2018-04-06 10:09:31 -07:00
Nikolay Kim
691457fbfe
update tests
2018-04-06 09:45:10 -07:00
Nikolay Kim
2dafd9c681
do not re-export HttpServer from server module
2018-04-06 08:40:11 -07:00
Nikolay Kim
6c55501252
client connector wait timeout
2018-04-05 18:33:58 -07:00
Nikolay Kim
800f711cc1
add PayloadConfig
2018-04-04 21:13:48 -07:00
Nikolay Kim
7be4b1f399
clippy warns
2018-04-04 20:24:09 -07:00
Nikolay Kim
eeae0ddab4
start client timeout for response only
2018-04-04 20:15:47 -07:00
Nikolay Kim
d8a9606162
add connection limits to pool
2018-04-04 16:39:01 -07:00
Nikolay Kim
df21892b5b
added extractor configuration
2018-04-03 22:06:18 -07:00
Nikolay Kim
a255a6fb69
use build_response method
2018-04-03 17:37:17 -07:00
Nikolay Kim
fee30d6f47
fix doc test compatibility
2018-04-02 22:01:20 -07:00
Nikolay Kim
476b1fb36a
simplify DefaultHeaders middleware
2018-04-02 21:43:50 -07:00
Nikolay Kim
3b93bff602
add ErrorHandlers middleware
2018-04-02 21:37:00 -07:00
Nikolay Kim
d292c5023f
add String and Bytes extractor
2018-04-02 16:19:18 -07:00
Nikolay Kim
ef6f310060
update urlencoded example in guide
2018-04-02 15:08:49 -07:00
Nikolay Kim
a6cbdde43f
add extractor for Binary type; move all extractors to separate module
2018-04-02 14:55:42 -07:00
Nikolay Kim
cbf4c61eb5
add urlencoded body extractor
2018-04-02 14:00:18 -07:00
Nikolay Kim
280c8d87f8
expose ResourceType
2018-04-02 11:18:31 -07:00
Nikolay Kim
83bf852192
Fix logger request duration calculation
2018-04-02 11:09:24 -07:00
Nikolay Kim
6c906b08e1
match resource path before executing middlewares
2018-04-02 10:27:37 -07:00
Nikolay Kim
17c27ef42d
HttpRequest::resource() returns current matched resource
2018-04-01 17:37:22 -07:00
Nikolay Kim
97e2bcd055
allow primitive types for Path extractor
2018-03-31 17:12:08 -07:00
Nikolay Kim
23cfa649f4
update tests
2018-03-31 10:21:54 -07:00
Nikolay Kim
8791c0f880
simplify With handlers
2018-03-31 09:58:33 -07:00
Nikolay Kim
16c212f853
add extractors info to guide
2018-03-31 09:18:25 -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
8d8f6bedad
update examples
2018-03-30 18:54:38 -07:00
Nikolay Kim
9e751de707
re-arrange modules and exports
2018-03-30 17:31:18 -07:00
Nikolay Kim
b16419348e
add from HttpRequest to a HttpRequestBuilder
2018-03-30 14:30:24 -07:00
Nikolay Kim
3ccaa04575
unhide AsyncResponder; remove unused code
2018-03-30 09:34:03 -07:00
Nikolay Kim
145010a2b0
use unreachable instead of panic
2018-03-29 15:55:27 -07:00
Nikolay Kim
3e98177fad
added State extractor
2018-03-29 15:41:13 -07:00
Nikolay Kim
d24752d9bc
update example in readme
2018-03-29 15:07:12 -07:00
Nikolay Kim
92fe2e96de
update doc strings
2018-03-29 15:00:18 -07:00
Nikolay Kim
3cf54bc0fd
proper serde deserializer implementation for path
2018-03-29 14:30:45 -07:00
Nikolay Kim
86dd732704
use FromRequest instead of HttpRequestExtractor
2018-03-29 13:12:28 -07:00
Nikolay Kim
dfd8f1058e
move NormalizePath type to separate module
2018-03-29 11:39:21 -07:00
Nikolay Kim
f5636f321b
drop deprecated code
2018-03-29 11:06:44 -07:00
Nikolay Kim
ae6c9cb7fa
re-arrange exports, some doc string updates
2018-03-29 10:44:26 -07:00
Nikolay Kim
32052c2750
update guide
2018-03-29 10:01:07 -07:00
Nikolay Kim
7d6deab9fb
drop request's extract_xxx methods
2018-03-29 09:26:01 -07:00
Nikolay Kim
9e61c67128
do not re-export Version
2018-03-28 22:00:36 -07:00
Nikolay Kim
13bb5f20d2
fix export name
2018-03-28 21:58:08 -07:00
Nikolay Kim
d14991ec96
update doc strings
2018-03-28 21:49:50 -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
4f7d45ee9c
remove unneeded import
2018-03-28 14:38:01 -07:00
Nikolay Kim
e1d2536d85
remove unused code
2018-03-28 14:34:17 -07:00
Nikolay Kim
65700281e8
add support for multiple extractors
2018-03-28 14:24:32 -07:00
Nikolay Kim
df7ffe14f2
add PathAndQuery extractor
2018-03-28 11:20:06 -07:00
Nikolay Kim
36161aba99
update Path and Query doc strings
2018-03-28 07:27:06 -07:00
Nikolay Kim
9f5a91ae3c
export types
2018-03-27 21:59:55 -07:00
Nikolay Kim
4358da9926
refactor WithHandler trait
2018-03-27 20:33:24 -07:00
Nikolay Kim
62fb75ff95
add Application::configure method, it simplifies configuration process
2018-03-27 11:16:02 -07:00
Nikolay Kim
dcc5eb7ace
pass request as value
2018-03-26 23:34:31 -07:00
Nikolay Kim
81f4e12a27
fix doc string test
2018-03-26 23:29:53 -07:00
Nikolay Kim
2f60a4b89d
add handler with exatractor
2018-03-26 23:10:31 -07:00
Nikolay Kim
8fff2c7595
remove Path and Query from public api
2018-03-26 18:18:38 -07:00
Nikolay Kim
052d5f0bc5
silence AsciiExt deprecation warn
2018-03-26 16:12:25 -07:00
Nikolay Kim
68cf32e848
add path and query extractors
2018-03-26 15:58:30 -07:00
Nikolay Kim
a56e5113ee
process transfer-encoding before content-length, fix tests on 32bit platform
2018-03-24 09:22:34 -07:00
Alexander Andreev
2d80c5053d
spelling check
2018-03-24 09:35:52 +03:00
Nikolay Kim
47f836cd1b
add helper method for response creation
2018-03-22 21:14:57 -07:00
Nikolay Kim
449709dd7e
add 0.5 sec deley before exit
2018-03-22 18:41:02 -07:00
Nikolay Kim
5a25fd95f5
Fix panic on invalid URL characters #130
2018-03-22 18:08:12 -07:00
Nikolay Kim
b942bcc4a6
Fix long client urls #129
2018-03-22 07:44:16 -07:00
Nikolay Kim
93d99b5a49
Use more ergonomic actix_web::Error instead of http::Error for ClientRequestBuilder::body()
2018-03-21 20:19:31 -07:00
Nikolay Kim
e49910cdab
Use more ergonomic actix_web::Error instead of http::Error for HttpResponseBuilder::body()
2018-03-21 20:15:52 -07:00
Nikolay Kim
e8a1850c79
add helper conversion from ClientResponse for HttpResponseBuilder
2018-03-21 20:04:35 -07:00
Nikolay Kim
afb81b6b8f
add convinience ClientRequest::build_from() from HttpRequest
2018-03-21 19:54:21 -07:00
Nikolay Kim
4866a26578
make streaming method more ergonomic
2018-03-21 19:14:18 -07:00
Nikolay Kim
2d75ced4ed
fix client connection pooling
2018-03-21 11:51:08 -07:00
Nikolay Kim
7bcc258b09
Use fast compression setting
2018-03-21 08:56:21 -07:00
Nikolay Kim
d5fa0a9418
disable brotli if feature is not enabled, faster compression
2018-03-21 08:03:21 -07:00
Nikolay Kim
ce6d237cc1
prepare 0.4.10 release
2018-03-20 15:53:39 -07:00
Nikolay Kim
70caa2552b
simplify httpresponse release
2018-03-20 15:51:19 -07:00
Nikolay Kim
c4f4cadb43
Fix http/2 date header generation
2018-03-20 11:40:05 -07:00
Nikolay Kim
978091cedb
wake up io task when next chunk of data is needed
2018-03-20 11:37:13 -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
f4a47ef71e
allow set client request/ws timeout
2018-03-18 19:27:51 -07:00
Nikolay Kim
ab73da4a1a
use Error instead of InternalError for helper methods error::ErrorXXX
2018-03-18 14:18:47 -07:00
Nikolay Kim
e0c8da567c
various optimizations
2018-03-18 11:05:44 -07:00
Douman
ec192e0ab1
Show Request's hidden methods
2018-03-17 18:10:22 +03:00
Nikolay Kim
6d792d9948
simplify h1 parse
2018-03-16 20:56:23 -07:00
Nikolay Kim
1fe4315c94
use actix 0.5.4
2018-03-16 13:37:47 -07:00
Nikolay Kim
2d18dba40a
fix compilation
2018-03-16 12:28:08 -07:00
Nikolay Kim
d2693d58a8
clippy warnings
2018-03-16 12:12:55 -07:00
Nikolay Kim
84bf282c17
add basic client connection pooling
2018-03-16 12:04:01 -07:00
Nikolay Kim
b15b5e5246
check number of available workers
2018-03-16 11:17:27 -07:00
Nikolay Kim
64c4cefa8f
Merge branch 'master' into default_static_files
2018-03-16 09:31:36 -07:00
Douman
8a344d0c94
Add default resource for StaticFiles
2018-03-16 19:04:36 +03:00
Nikolay Kim
4096089a3f
allow to disable http/2 support
2018-03-16 08:48:44 -07:00
Nikolay Kim
b16f2d5f05
proper check for actor context poll
2018-03-16 08:04:26 -07:00
Nikolay Kim
5baf15822a
always start actors
2018-03-16 07:46:27 -07:00
Nikolay Kim
61970ab190
always poll stream or actor for the first time
2018-03-15 17:11:49 -07:00
Nikolay Kim
73bf2068aa
allow to use NamedFile with any request method
2018-03-15 16:55:22 -07:00
Nikolay Kim
0f064db31d
Move brotli encoding to a feature
2018-03-13 17:21:22 -07:00
Nikolay Kim
fd0bb54469
add debug formatter for ClientRequestBuilder
2018-03-13 15:09:05 -07:00
Glade Miller
38080f67b3
If no path is available from the URI request /
2018-03-13 13:35:11 -06:00
Glade Miller
08504e0892
Move path call inline into write
2018-03-13 13:26:13 -06:00
Glade Miller
401c0ad809
https://github.com/actix/actix-web/issues/120 - Send Query Parameters in client requests
2018-03-13 13:17:55 -06:00
Nikolay Kim
b4b0deb7fa
Wake payload reading task when data is available
2018-03-12 16:29:13 -07:00
Nikolay Kim
05ff35d383
Fix server keep-alive handling
2018-03-12 16:16:17 -07:00
Nikolay Kim
29c3e8f7ea
update test
2018-03-12 10:19:09 -07:00
Nikolay Kim
6657446433
Allow to set read buffer capacity for server request
2018-03-12 10:01:56 -07:00
Nikolay Kim
b3cdb472d0
remove reserved state for h2 write if buffer is empty
2018-03-12 09:04:54 -07:00
Nikolay Kim
31e1aab9a4
do not log WouldBlock error from socket accept
2018-03-12 09:02:15 -07:00
Nikolay Kim
49f5c335f6
better sleep on error
2018-03-11 16:52:20 -07:00
Nikolay Kim
3e276ac921
Merge branch 'master' into feature/sockets-vec
2018-03-11 16:38:17 -07:00
Nikolay Kim
4af115a19c
Fix steraming response handling for http/2
2018-03-11 16:37:44 -07:00
Nikolay Kim
051703eb2c
Fix connection get closed too early
2018-03-11 15:37:33 -07:00
Nikolay Kim
31fbbd3168
Fix panic on unknown content encoding
2018-03-11 14:50:13 -07:00
Nikolay Kim
a4c933e56e
update doc string
2018-03-11 09:36:54 -07:00
Nikolay Kim
9ddf5a3550
better doc string for Either
2018-03-11 09:28:22 -07:00
messense
9ab0fa604d
Use Vec instead of HashMap to store sockets in HttpServer
2018-03-11 17:29:44 +08:00
Nikolay Kim
6c709b33cc
return error on write zero bytes
2018-03-10 10:42:46 -08:00
Nikolay Kim
71b4c07ea4
Fix json content type detection
2018-03-10 10:27:29 -08:00
Nikolay Kim
ac9eba8261
add api doc for Either
2018-03-10 10:12:44 -08:00
Nikolay Kim
cad55f9c80
add Either responder
2018-03-10 09:39:43 -08:00
Nikolay Kim
4263574a58
fix panic in cors if request does not contain origin header and send_wildcard is not set
2018-03-10 08:31:20 -08:00
messense
9a404a0c03
Impl From<usize> and From<Option<usize>> for KeepAlive
2018-03-10 17:52:50 +08:00
Nikolay Kim
05f5ba0084
refactor keep-alive; fixed write to socket for upgraded connection
2018-03-09 16:21:14 -08:00
Nikolay Kim
8d1de6c497
ws client timeouts
2018-03-09 13:12:14 -08:00
Nikolay Kim
caaace82e3
export symbols
2018-03-09 13:03:15 -08:00
Nikolay Kim
02dd5375a9
aling mask to 8 bytes
2018-03-09 10:25:47 -08:00
Nikolay Kim
717602472a
clippy warnings
2018-03-09 10:11:38 -08:00
Nikolay Kim
b56be8e571
write buffer capacity for client
2018-03-09 10:09:13 -08:00
Nikolay Kim
2853086463
add write buffer capacity config
2018-03-09 10:00:15 -08:00
Nikolay Kim
e2107ec6f4
use small vec on hot path
2018-03-09 08:00:44 -08:00
Nikolay Kim
c33caddf57
update tests
2018-03-09 05:50:47 -08:00
Nikolay Kim
f8b8fe3865
add space to cookie header
2018-03-09 05:38:07 -08:00
Nikolay Kim
1c6ddfd34c
naming
2018-03-09 05:36:40 -08:00
Nikolay Kim
49e007ff2a
move protobuf support to the example
2018-03-09 05:29:06 -08:00
Nikolay Kim
f3c63e631a
add protobuf feature
2018-03-08 20:56:18 -08:00
Nikolay Kim
3f0803a7d3
Merge branch 'master' of github.com:actix/actix-web
2018-03-08 20:39:10 -08:00
Nikolay Kim
f12b613211
more ws optimizations
2018-03-08 20:39:05 -08:00
kingxsp
63634be542
Merge branch 'master' into master
2018-03-09 10:22:15 +08:00
Nikolay Kim
f88f1c65b6
update tests
2018-03-08 18:19:46 -08:00
kingxsp
a0b589eb96
Add protobuf support
2018-03-09 10:05:13 +08:00
Nikolay Kim
ebdc983dfe
optimize websocket stream
2018-03-08 17:19:50 -08:00
Nikolay Kim
395243a539
another attempt to fix cookie handling
2018-03-08 11:16:54 -08:00
Nikolay Kim
1ab676d7eb
bump version and add some tests
2018-03-07 22:40:46 -08:00
Nikolay Kim
47f01e5b7e
update doc string
2018-03-07 21:39:20 -08:00
Nikolay Kim
ffb89935b6
update all features
2018-03-07 21:37:42 -08:00
Nikolay Kim
6c0fb3a7d2
handle panics in worker threads
2018-03-07 21:10:53 -08:00
Nikolay Kim
824244622f
update test
2018-03-07 17:42:57 -08:00
Nikolay Kim
42d2a29b1d
non-blocking processing for NamedFile
2018-03-07 17:40:13 -08:00
Nikolay Kim
af8875f6ab
sleep on accept socket error
2018-03-07 15:52:05 -08:00
Nikolay Kim
1db1ce1ca3
one more cookie handling fix
2018-03-07 15:41:46 -08:00
Nikolay Kim
f55ef3a059
create default CpuPool
2018-03-07 14:56:53 -08:00
Nikolay Kim
67bf0ae79f
fix HttpServer::listen method
2018-03-07 14:46:12 -08:00
Thedancingbard
7cce29b633
BoyScoutRule: Fixed typo
2018-03-07 21:54:25 +01:00
Nikolay Kim
c26d9545a5
map connector timeout error
2018-03-07 12:09:53 -08:00
Nikolay Kim
0bf29a522b
Allow to use std::net::TcpListener for HttpServer
2018-03-07 11:28:44 -08:00
Nikolay Kim
24342fb745
Merge pull request #113 from niklasf/csrf-upgrade
...
Let CSRF filter catch cross-site upgrades
2018-03-07 09:58:30 -08:00
Niklas Fiekas
0278e364ec
add tests for csrf upgrade filter
2018-03-07 18:42:21 +01:00
Niklas Fiekas
b9d6bbd357
filter cross-site upgrades in csrf middleware
2018-03-07 17:49:30 +01:00
Niklas Fiekas
5816ecd1bc
fix variable name: cors -> csrf
2018-03-07 17:44:19 +01:00
Nikolay Kim
9e0e081c90
Merge branch 'master' into cookie-handling
2018-03-07 06:12:37 -08:00
Alex Whitney
9afad5885b
fix client cookie handling
2018-03-07 09:48:34 +00:00
kindiana
04d0abb3c7
make session an optional feature
2018-03-07 15:38:58 +08:00
Nikolay Kim
c1419413aa
Fix client cookie support
2018-03-06 22:36:34 -08:00
Nikolay Kim
acd33cccbb
add tls
2018-03-06 17:34:46 -08:00
Nikolay Kim
57a1d68f89
add client response timeout
2018-03-06 17:04:48 -08:00
Nikolay Kim
6a3c5c4ce0
Merge branch 'master' into feature/allow_connection_timeout_to_be_set
2018-03-06 15:18:25 -08:00
Nikolay Kim
14a511bdad
use IntoHeaderValue and Header for client request
2018-03-06 15:18:04 -08:00
Glade Miller
6b9e51740b
Merge branch 'master' into feature/allow_connection_timeout_to_be_set
2018-03-06 15:28:31 -07:00
Glade Miller
be7e8d159b
Allow connection timeout to be set
2018-03-06 15:26:09 -07:00
Niklas Fiekas
85b650048d
give a url in the log when starting
2018-03-06 20:37:18 +01:00
Nikolay Kim
a0e6313d56
Fix compression #103 and #104
2018-03-06 11:02:03 -08:00
Nikolay Kim
526753ee88
update tests for stable compiler
2018-03-06 07:56:43 -08:00
Nikolay Kim
32b5544ad9
port hyper header
2018-03-06 00:43:25 -08:00
Nikolay Kim
e182ed33b1
add Header trait
2018-03-05 19:28:42 -08:00
Nikolay Kim
0c30057c8c
move headers to separate module; allow custom HeaderValue conversion
2018-03-05 16:45:54 -08:00
Nikolay Kim
05e49e893e
allow only GET and HEAD for NamedFile
2018-03-05 14:04:30 -08:00
Nikolay Kim
c8844425ad
Enable compression support for NamedFile
2018-03-05 13:31:30 -08:00
Nikolay Kim
b282ec106e
Add ResponseError impl for SendRequestError
2018-03-05 13:02:31 -08:00
Nikolay Kim
cbb821148b
explicitly set tcp nodelay
2018-03-04 20:14:58 -08:00
Nikolay Kim
11347e3c7d
Allow to use Arc<Vec<u8>> as response/request body
2018-03-04 10:33:18 -08:00
Nikolay Kim
631fe72a46
websockets text() is more generic
2018-03-04 10:18:42 -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
2ccbd5fa18
fix socket polling
2018-03-03 12:17:26 -08:00
Nikolay Kim
058630d041
simplify channels list management
2018-03-03 11:16:55 -08:00
Nikolay Kim
f456be0309
simplify linked nodes
2018-03-03 10:06:13 -08:00
Nikolay Kim
9bd6cb03ac
Merge branch 'master' of github.com:actix/actix-web
2018-03-03 09:29:46 -08:00
Nikolay Kim
83fcdfd91f
fix potential bug in payload processing
2018-03-03 09:27:54 -08:00
Anti Revoluzzer
4e41347de8
move reuse_address before bind
2018-03-02 22:57:11 -08:00
Nikolay Kim
791a980e2d
update tests
2018-03-02 22:08:56 -08:00
Nikolay Kim
c2d8abcee7
Fix disconnect on idle connections
2018-03-02 20:47:23 -08:00
Nikolay Kim
16c05f07ba
make HttpRequest::match_info_mut() public
2018-03-02 20:40:08 -08:00
Nikolay Kim
2158ad29ee
add Pattern::with_prefix, make it usable outside of actix
2018-03-02 20:39:22 -08:00
Nikolay Kim
feba5aeffd
bump version
2018-03-02 14:31:23 -08:00
Nikolay Kim
e60acb7607
Merge branch 'master' into csrf-middleware
2018-03-02 12:25:05 -08:00
Nikolay Kim
3b2928a391
Better naming for websockets implementation
2018-03-02 11:29:55 -08:00
Niklas Fiekas
10f57dac31
add csrf filter middleware
2018-03-02 20:13:43 +01:00
Nikolay Kim
b640b49b05
adjust low buf size
2018-03-01 20:13:50 -08:00
Nikolay Kim
1fea4bd9a6
prepare release
2018-03-01 20:01:25 -08:00
Nikolay Kim
206c4e581a
rename httpcodes
2018-03-01 19:12:59 -08:00
Nikolay Kim
4e13505b92
rename .p to a .filter
2018-03-01 18:42:50 -08:00
Nikolay Kim
5b6d7cddbf
Fix payload parse in situation when socket data is not ready
2018-03-01 18:27:04 -08:00
Nikolay Kim
4aaf9f08f8
update readme
2018-02-28 22:31:54 -08:00
Nikolay Kim
d62d6e68e0
use new version of http crate
2018-02-28 14:16:55 -08:00
Alex Whitney
313396d9b5
fix session mut borrow lifetime
2018-02-28 19:35:26 +00:00
Nikolay Kim
171a23561e
export Drain
2018-02-28 11:10:54 -08:00
Nikolay Kim
8994732227
doc strings
2018-02-27 23:30:26 -08:00
Nikolay Kim
7591592279
fix handle big data chunkd for parsing
2018-02-27 23:04:57 -08:00
Nikolay Kim
1e2aa4fc90
mark context as modified after writing data
2018-02-27 18:05:06 -08:00
Nikolay Kim
e2c8f17c2c
drop connection if handler get dropped without consuming payload
2018-02-27 16:08:57 -08:00
Nikolay Kim
4f99cd1580
add ws error tracing
2018-02-27 15:38:57 -08:00
Nikolay Kim
1f063e4136
move with_connector method to ClientRequestBuilder
2018-02-27 15:14:33 -08:00
Nikolay Kim
a7bf635158
unify headers and body processing for client response and server request
2018-02-27 15:03:28 -08:00
Nikolay Kim
aac9b5a97c
update readme
2018-02-27 12:49:11 -08:00
Nikolay Kim
6c480fae90
added HttpRequest::encoding() method; fix urlencoded parsing with charset
2018-02-27 11:31:54 -08:00
Nikolay Kim
5dcb558f50
refactor websockets handling
2018-02-27 10:09:24 -08:00
Nikolay Kim
a344c3a02e
remove read buffer management api
2018-02-26 20:07:22 -08:00
Nikolay Kim
abae65a49e
remove unused code
2018-02-26 16:11:00 -08:00
Nikolay Kim
d6fd4a3524
use buffer capacity; remove unused imports
2018-02-26 15:34:25 -08:00
Nikolay Kim
72aa2d9eae
clippy warnings
2018-02-26 14:33:56 -08:00
Nikolay Kim
644f1a9518
refactor ws frame parser
2018-02-26 13:58:23 -08:00
Nikolay Kim
0a3b776aa7
refactor multipart stream
2018-02-26 06:00:54 +03:00
Nikolay Kim
6ef9c60361
add Read and AsyncRead impl to HttpRequest
2018-02-25 21:26:58 +03:00
Nikolay Kim
a2b98b31e8
refactor payload related futures for HttpRequest
2018-02-25 20:34:26 +03:00
Nikolay Kim
ab5ed27bf1
refactor and simplify content encoding
2018-02-25 11:43:00 +03:00
Nikolay Kim
141b992450
Make payload and httprequest a stream
2018-02-25 11:21:45 +03:00
Nikolay Kim
4e41e13baf
refactor client payload processing
2018-02-25 11:18:17 +03:00
Nikolay Kim
a855c8b2c9
better ergonomics for WsClient::client()
2018-02-24 08:14:21 +03:00
Nikolay Kim
fd31eb74c5
better ergonomics for ws client
2018-02-24 07:36:50 +03:00
Nikolay Kim
25aabfb3e2
fix big ws frames
2018-02-23 10:45:33 +01:00
Nikolay Kim
aff43cc8b8
fix routes registration order
2018-02-22 05:48:18 -08:00
Nikolay Kim
4a9c1ae894
allow to use Connection for sending client request
2018-02-21 22:53:23 -08:00
Nikolay Kim
8f2d3a0a76
fix NormalizePath helper
2018-02-21 14:53:42 -08:00
Nikolay Kim
fd56e5dc82
do not use regset for route recognition
2018-02-21 14:31:22 -08:00
Nikolay Kim
5634e5794f
more tests for NormalizePath helper
2018-02-20 13:03:21 -08:00
Nikolay Kim
187644e178
update logger doc string
2018-02-20 12:53:51 -08:00
Nikolay Kim
2374aa42ed
set date header for client requests
2018-02-19 23:18:18 -08:00
Nikolay Kim
03912d2089
support client request's async body
2018-02-19 22:48:27 -08:00
Nikolay Kim
3f95cce9e8
allow to pass different binary data
2018-02-19 20:03:57 -08:00
Nikolay Kim
979cea03ac
added TestRequest::set_payload()
2018-02-19 20:01:38 -08:00
Nikolay Kim
6ee14efbe2
optimize http message serialization
2018-02-19 17:21:04 -08:00
Nikolay Kim
4d81186059
escape router pattern re
2018-02-19 14:57:57 -08:00
Nikolay Kim
ddc82395e8
try to remove trailing slash for normalize path handler
2018-02-19 14:27:36 -08:00
Nikolay Kim
360ffbba68
clone router with httprequest
2018-02-19 14:26:51 -08:00
Nikolay Kim
f2f1798215
allow to send request using custom connector
2018-02-19 13:41:21 -08:00
Nikolay Kim
548f4e4d62
replace reqwest with actix::client
2018-02-19 13:18:18 -08:00
Nikolay Kim
cb70d5ec3d
refactor http client
2018-02-19 03:11:11 -08:00
Nikolay Kim
edd114f6e4
allow to set default content encoding on application level
2018-02-18 22:23:17 -08:00
Nikolay Kim
816c6fb0e0
log 5xx responses as error
2018-02-18 09:57:57 -08:00
Nikolay Kim
3e3d3279b8
deregister server socket on shutdown
2018-02-16 09:42:15 -08:00
Nikolay Kim
8607c51bcf
do not stop accept thread on error
2018-02-15 22:02:03 -08:00
Nikolay Kim
8f9ec5c23c
fix doc test
2018-02-13 07:50:49 -08:00
Nikolay Kim
b1eec3131f
use newer api
2018-02-12 22:56:47 -08:00
Nikolay Kim
a544034c06
use Recipient
2018-02-12 22:09:31 -08:00
Christopher Armstrong
4b8181476c
consistently use #[cause]
and display causing errors ( #73 )
2018-02-12 23:55:44 -06:00
Nikolay Kim
eb041de36d
update examples
2018-02-12 19:15:39 -08:00
Nikolay Kim
80285f2a32
fix doc test
2018-02-12 18:38:13 -08:00
Nikolay Kim
335ca8ff33
use new actix api
2018-02-12 16:08:04 -08:00
Nikolay Kim
720d8c36c1
update names
2018-02-12 12:45:08 -08:00
Nikolay Kim
8c1b5fa945
sync with latest actix
2018-02-12 12:17:30 -08:00
Nikolay Kim
30bdf9cb5e
update actix api
2018-02-12 01:13:06 -08:00
Nikolay Kim
285c66e7d8
build docs for apln and tls features
2018-02-10 11:39:12 -08:00
Nikolay Kim
856055c6ca
simplify HttpServer::start_tls() method
2018-02-10 11:34:54 -08:00
Nikolay Kim
e3081306da
update doc string
2018-02-10 11:29:40 -08:00
Nikolay Kim
94c4053cb5
more HttpServer type simplification
2018-02-10 11:01:54 -08:00
Nikolay Kim
762961b0f4
simplify HttpServer type definition
2018-02-10 10:22:03 -08:00
Nikolay Kim
3109f9be62
special handling for upgraded pipeline
2018-02-10 00:05:20 -08:00
Nikolay Kim
0c98775b51
refactor h1 stream polling
2018-02-09 22:26:48 -08:00
Nikolay Kim
b4b5c78b51
optimize ws frame generation
2018-02-09 20:43:14 -08:00
Nikolay Kim
78da98a16d
add wsload tool; optimize ws frame parser
2018-02-09 17:20:28 -08:00
Nikolay Kim
74377ef73d
fix back pressure for h1 import stream
2018-02-09 16:20:10 -08:00
Nikolay Kim
73ed1342eb
more actix compatibility
2018-02-08 17:13:56 -08:00
Nikolay Kim
bc6300be34
actix compatibility
2018-02-08 17:08:57 -08:00
Nikolay Kim
2faf3a5eb6
fix deprecation warnings, update actix
2018-02-08 17:00:22 -08:00
Christopher Armstrong
f8f99ec0c7
Disable signals in HttpServers started by the tests. ( #69 )
...
Something is wrong with signals on windows.
This change causes the unit tests to pass on Windows.
2018-02-08 14:55:47 -06:00
Nikolay Kim
93aa220e8d
remove default impl for std error, it prevents use of Fail
2018-02-07 13:57:58 -08:00
Christopher Armstrong
81e4fb9353
Avoid using Path
to calculate URIs, because it doesn't do the right thing on Windows ( #67 )
...
Redirecting to index files now always uses `/` instead of backslash on windows.
2018-02-07 15:31:09 -06:00
Christopher Armstrong
884ea02f5c
Allow returning failure::Error from handlers ( #65 )
...
This implements From<failure::Error> for Error (by way of `failure::Compat`)
and ResponseError for failure::Compat<T>.
2018-02-06 10:26:50 -06:00
Nikolay Kim
7ad66956b2
add HttpRequest::uri_mut(), allows to modify request uri
2018-02-03 08:31:32 -08:00
Nikolay Kim
eb713bd60e
update actix version
2018-02-01 01:08:08 -08:00
Nikolay Kim
58f85658bd
update actix
2018-01-31 12:57:02 -08:00
Nikolay Kim
7e9fbfca72
missing http codes
2018-01-31 12:34:58 -08:00
Alexander Andreev
a1b96b1cf4
return "chnked" value
2018-01-31 21:37:12 +03:00
Alexander Andreev
a565e71018
spelling check
2018-01-31 20:28:53 +03:00
Nikolay Kim
b698e3546b
link to websocket example
2018-01-30 15:26:58 -08:00
Nikolay Kim
577f91206c
added support for websocket testing
2018-01-30 15:13:33 -08:00
Nikolay Kim
76f9542df7
rename module
2018-01-30 13:04:52 -08:00
Nikolay Kim
9739168d48
fix limit usage for Request/Response Body future
2018-01-30 12:44:14 -08:00
Nikolay Kim
5cbaf3a1b8
add client ssl support
2018-01-30 11:17:17 -08:00
Nikolay Kim
a02e0dfab6
initial work on client connector
2018-01-29 23:01:20 -08:00
Nikolay Kim
5cc3bba5cc
change ws client names
2018-01-29 15:45:37 -08:00
Nikolay Kim
b686f39d0b
complete impl for client request and response
2018-01-29 14:44:25 -08:00
Nikolay Kim
6416a796c3
add ClientRequest and ClientRequestBuilder
2018-01-29 11:45:33 -08:00
Nikolay Kim
b6a394a113
added StaticFiles::inex_file config
2018-01-29 03:23:45 -08:00
Nikolay Kim
456fd1364a
add handle method to contexts
2018-01-28 09:47:46 -08:00
Nikolay Kim
55b2fb7f77
update example
2018-01-28 01:04:58 -08:00
Nikolay Kim
7c7743c145
use right path
2018-01-27 22:52:17 -08:00
Nikolay Kim
5dd2e7523d
basic websocket client
2018-01-27 22:03:03 -08:00
Nikolay Kim
4821d51167
fix actix compatibility
2018-01-27 11:15:03 -08:00
Nikolay Kim
d4bc3294a3
actix compatibility
2018-01-27 10:04:56 -08:00
Nikolay Kim
4abb769ee5
fix request json loader; mime_type() method
2018-01-25 21:50:28 -08:00
Nikolay Kim
e8e2ca1526
refactor alpn support; upgrade openssl to 0.10
2018-01-25 10:24:04 -08:00
Nikolay Kim
78967dea13
stop http context immediately
2018-01-24 20:17:14 -08:00
Nikolay Kim
58a5d493b7
re-eanble write backpressure for h1 connections
2018-01-24 20:12:49 -08:00
Nikolay Kim
c5341017cd
fix typo
2018-01-23 15:39:53 -08:00
Nikolay Kim
f4873fcdee
stop websocket context
2018-01-23 15:35:39 -08:00
Nikolay Kim
35efd017bb
impl waiting for HttpContext
2018-01-23 09:42:04 -08:00
Nikolay Kim
e6ea177181
impl WebsocketContext::waiting() method
2018-01-22 16:55:50 -08:00
Nikolay Kim
1914a6a0d8
Always enable content encoding if encoding explicitly selected
2018-01-21 08:31:46 -08:00
Nikolay Kim
1cff4619e7
reduce threshold for content encoding
2018-01-21 08:12:32 -08:00
Nikolay Kim
7bb7adf89c
relax InternalError constraints
2018-01-20 22:02:42 -08:00
Nikolay Kim
f5f78d79e6
update doc strings
2018-01-20 21:16:31 -08:00
Nikolay Kim
9180625dfd
refactor helper error types
2018-01-20 21:11:46 -08:00
Nikolay Kim
7cf221f767
Log request processing errors
2018-01-20 20:12:24 -08:00
Nikolay Kim
98931a8623
test case for broken transfer encoding
2018-01-20 16:51:18 -08:00
Nikolay Kim
ae10a89014
use ws masking from tungstenite project
2018-01-20 16:47:34 -08:00
Nikolay Kim
71d534dadb
CORS middleware: allowed_headers is defaulting to None #50
2018-01-20 16:36:57 -08:00
Nikolay Kim
867bb1d409
Merge branch 'master' of github.com:actix/actix-web
2018-01-20 16:12:51 -08:00
Nikolay Kim
91c44a1cf1
Fix HEAD requests handling
2018-01-20 16:12:38 -08:00
Alexander Andreev
58df8fa4b9
spelling check
2018-01-16 21:59:33 +03:00
Alexander Andreev
e1d9c3803b
spelling check
2018-01-16 00:47:25 +03:00
Nikolay Kim
a7c24aace1
flush is useless
2018-01-14 19:28:34 -08:00
Nikolay Kim
89a89e7b18
refactor shared bytes api
2018-01-14 17:00:28 -08:00
Nikolay Kim
3425f7be40
fix tests
2018-01-14 14:58:58 -08:00
Nikolay Kim
7060f298b4
use more binary
2018-01-14 14:40:39 -08:00
Nikolay Kim
33dbe15760
use Binary for writer trait
2018-01-14 13:50:38 -08:00
Nikolay Kim
927a92fcac
impl HttpHandler for Box<HttpHandler> and add helper method Application::boxed() #49
2018-01-13 18:58:17 -08:00
Nikolay Kim
93fdb596d4
Allow to explicitly disable chunked encoding
2018-01-13 16:17:33 -08:00
Nikolay Kim
305666067e
Do not enable chunked encoding for HTTP/1.0
2018-01-13 12:46:43 -08:00
Nikolay Kim
b805d87ee7
no need for custom cookie module
2018-01-13 11:33:42 -08:00
Nikolay Kim
bc6bb9984f
user guide spelling
2018-01-13 11:17:48 -08:00
belltoy
781282897a
fix directory entry path
2018-01-13 08:37:27 +00:00
Nikolay Kim
c470e7a02b
use flate2 released crate
2018-01-12 12:31:33 -08:00
Nikolay Kim
8a96e8fdd0
disable compression for static files
2018-01-11 23:49:53 -08:00
Nikolay Kim
e919ec485e
cleanup http channel
2018-01-11 22:06:06 -08:00
Nikolay Kim
e482b88741
refactor http protocol selection procedure
2018-01-11 21:48:36 -08:00
Nikolay Kim
eb8052b936
fix cors tests
2018-01-11 20:20:50 -08:00
Nikolay Kim
dab918261c
fix cors allowed header validation
2018-01-11 20:11:34 -08:00
Nikolay Kim
11342e4566
add link to gitter
2018-01-11 18:49:30 -08:00
Nikolay Kim
f7b895b53a
add link to github
2018-01-11 18:47:34 -08:00
Nikolay Kim
ac89880c0a
move encoding to server
2018-01-11 18:41:33 -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
0648ad6f33
fix implicit chunked encoding
2018-01-11 15:26:46 -08:00
Nikolay Kim
d152860fa7
add Cors::register method
2018-01-11 11:14:18 -08:00
Nikolay Kim
43f14224b1
properly enable encoding tests
2018-01-10 22:42:26 -08:00
Nikolay Kim
1a31554ee6
travis config
2018-01-10 21:02:28 -08:00
Nikolay Kim
49cdddf479
upgrade flate package
2018-01-10 20:28:06 -08:00
Nikolay Kim
aed90ed458
rename payload
2018-01-10 20:08:13 -08:00
Nikolay Kim
e0faf3f69c
refactor pipeline impl
2018-01-10 16:45:57 -08:00
Nikolay Kim
f7807e43d8
cleanup Binary type; more cors tests
2018-01-10 15:28:33 -08:00
Nikolay Kim
fee54d1de0
tests for cors response
2018-01-10 14:56:45 -08:00
Nikolay Kim
1445cc7a2c
test for cors
2018-01-10 14:21:48 -08:00
Nikolay Kim
16e9512457
better names for cors errors
2018-01-10 14:20:00 -08:00
Nikolay Kim
615db0d9d8
complete cors implementation
2018-01-10 13:41:33 -08:00
Nikolay Kim
3f3dcf413b
move websocket code to submodule
2018-01-10 11:13:29 -08:00
Nikolay Kim
4b72a1b325
create custom WebsocketContext for websocket connection
2018-01-10 10:12:34 -08:00
Nikolay Kim
8aae2daafa
update example
2018-01-10 07:55:25 -08:00
Nikolay Kim
d7f59ce481
add cors preflight request support
2018-01-09 23:55:42 -08:00
Nikolay Kim
ce78f17a79
refactor Middleware trait, use Result
2018-01-09 22:48:35 -08:00
Nikolay Kim
16310a5ebd
initial work on cors middleware
2018-01-09 22:33:51 -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
a159a9cd6e
cleanup doc tests
2018-01-09 10:08:06 -08:00
Nikolay Kim
f90bc0caae
do no stop on write_eof
2018-01-07 19:10:42 -08:00
Nikolay Kim
f802fe09e6
fix context poll
2018-01-07 17:13:49 -08:00
Nikolay Kim
71da72efdb
use general context impl
2018-01-06 22:59:39 -08:00
Nikolay Kim
247c23c1ea
no need for StreamHandler
2018-01-06 01:06:35 -08:00
Nikolay Kim
3ed9e872ad
subscriber to os signals automatically
2018-01-05 16:32:36 -08:00
Nikolay Kim
5ff35f5b99
upgrade to actix 0.4
2018-01-05 13:30:21 -08:00
Nikolay Kim
20d5c61c11
set nodelay for streams
2018-01-04 09:32:47 -08:00
Nikolay Kim
91230afc44
fix time calculations
2018-01-04 09:32:33 -08:00
Nikolay Kim
afeffe4b19
encode returns result
2018-01-04 09:32:15 -08:00
Nikolay Kim
fdf7726831
update changelog
2018-01-03 23:59:12 -08:00
Nikolay Kim
9559f6a175
introduce IoStream trait for low level stream operations
2018-01-03 23:41:55 -08:00
Nikolay Kim
1f7aee23df
shutdown io streams before exit
2018-01-03 22:43:44 -08:00
Nikolay Kim
e439d0546b
* fix force_close
...
* shutdown io before exit
* fix response creation with body from pool
2018-01-03 18:21:34 -08:00
Nikolay Kim
8348c830e2
no need for mut ref
2018-01-03 10:57:57 -08:00
Nikolay Kim
ae084d1146
added helper future for reading request body
2018-01-03 09:23:58 -08:00
Nikolay Kim
88031b7fde
remove debug prints
2018-01-03 09:00:22 -08:00
Nikolay Kim
70ea43b3c0
fix drain support for actor; make pattern more reusable
2018-01-02 23:43:17 -08:00
Nikolay Kim
3a59344ffb
update h2 lib
2018-01-02 19:37:33 -08:00
Nikolay Kim
f0fdcc9936
handle application prefix for handlers; use handler for StaticFiles
2018-01-02 15:23:31 -08:00
Nikolay Kim
77ba1de305
flush encoder
2018-01-02 14:53:51 -08:00
Nikolay Kim
b49eadf7e5
fix content length serialization #33
2018-01-02 13:39:32 -08:00
Nikolay Kim
9040f588af
allow to handle entire sub path
2018-01-02 13:09:02 -08:00
Nikolay Kim
cc38b30f7b
refactor http actor usage
2017-12-31 17:26:32 -08:00
Nikolay Kim
967d3244d7
fix http/2 support
2017-12-31 13:22:11 -08:00
Nikolay Kim
6ea894547d
better application handling, fix url_for method for routes with prefix
2017-12-29 14:04:13 -08:00
Nikolay Kim
491d43aa8c
update tests
2017-12-29 11:49:36 -08:00
Nikolay Kim
1baead993a
call poll_io recursevely aftre drain completion
2017-12-29 11:45:56 -08:00
Nikolay Kim
3d3e4dae9a
refactor IntoHttpHandler trait
2017-12-29 11:33:04 -08:00
Nikolay Kim
1d195a2cf2
make Pipeline private
2017-12-29 09:16:50 -08:00
Nikolay Kim
d87fafb563
fix and refactor middleware runner
2017-12-29 01:01:31 -08:00
Nikolay Kim
308df19865
update readme
2017-12-28 16:27:08 -08:00
Nikolay Kim
538fea8027
add graceful shutdown system
2017-12-28 16:25:47 -08:00
Nikolay Kim
3f4898a6d1
add StopWorker message
2017-12-28 13:07:29 -08:00
Nikolay Kim
6a2bb9a473
split worker code to separate module
2017-12-28 12:38:37 -08:00
Nikolay Kim
783e19c1bf
fix RequestSession impl for HttpRequest
2017-12-28 11:43:45 -08:00
Nikolay Kim
d80a0c9f94
add support for unix signals
2017-12-28 11:36:20 -08:00
Alban Minassian
27b0dfd761
set sessio name
2017-12-28 13:02:46 +01:00
Nikolay Kim
093d0bae40
Param ctor is private
2017-12-27 19:19:28 -08:00
Nikolay Kim
8941557da6
add parameter container iterator
2017-12-27 19:09:36 -08:00
Nikolay Kim
6bb893deab
use Params object for query
2017-12-27 19:02:29 -08:00
Nikolay Kim
19e1c1b75b
use Cow for Params type
2017-12-27 18:41:09 -08:00
Nikolay Kim
556de72932
add server spawn method
2017-12-27 17:49:10 -08:00
Nikolay Kim
4d741b4de5
Fix typos
2017-12-27 13:26:31 -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
183bcd38f8
modify unused_addr method; update websockt guide section
2017-12-26 20:52:21 -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
743235b8fd
add unit test helper
2017-12-26 19:48:02 -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
e3b0f02794
fix type for disable feartures
2017-12-26 15:17:20 -08:00
Nikolay Kim
9521de5746
HttpServer::addrs() return all bound socket addresses
2017-12-26 14:45:38 -08:00
Nikolay Kim
dd3a2aa68a
add HttpServer::server_hostname method
2017-12-26 14:36:03 -08:00
Nikolay Kim
cce9c68a10
add doc string
2017-12-26 12:46:27 -08:00
Nikolay Kim
cf8c2ca95e
refactor Handler trait, use mut self
2017-12-26 09:00:45 -08:00
Nikolay Kim
ffb5742b71
fix tests
2017-12-25 19:42:55 -08:00
Nikolay Kim
5b65987f6a
write response optimizations
2017-12-25 13:40:06 -08:00
Nikolay Kim
98b0e023f3
optimize payload detection
2017-12-25 07:31:12 -08:00
Nikolay Kim
f1e82ebc1e
better connect handling
2017-12-24 16:15:40 -08:00
Nikolay Kim
ddd9c24bb2
optimize payload type detection
2017-12-24 14:29:19 -08:00
Nikolay Kim
9f9c75d832
simplify drain feature
2017-12-24 11:58:09 -08:00
Nikolay Kim
eaab28cd3b
proper fix for compression
2017-12-21 12:57:59 -08:00
Nikolay Kim
c35d294611
fix compression
2017-12-21 12:54:18 -08:00
Nikolay Kim
18f3841783
update test
2017-12-20 23:36:52 -08:00
Nikolay Kim
bca1dd4f9e
update doc strings
2017-12-20 23:19:21 -08:00
Nikolay Kim
0a68811dce
cleanup more examples
2017-12-20 21:06:04 -08:00
Nikolay Kim
406d2c41e9
add doc string
2017-12-20 20:56:17 -08:00
Nikolay Kim
63ddc07ccb
added JsonBody future
2017-12-20 20:30:54 -08:00
Nikolay Kim
33b2be3281
move json responder to separate module
2017-12-20 17:51:28 -08:00
Nikolay Kim
c36ad06332
more general Responder implementaiton for response future
2017-12-20 15:26:28 -08:00
Nikolay Kim
79f047f5be
remove box from predicates
2017-12-20 13:23:50 -08:00
Nikolay Kim
813b56ebe5
make async handler future more generic
2017-12-20 12:51:39 -08:00
Nikolay Kim
7fc7d6e17a
update guide
2017-12-19 22:36:06 -08:00
Nikolay Kim
626999bcc9
update doc strings
2017-12-19 16:09:19 -08:00
Nikolay Kim
64d867d9a1
update session guide section
2017-12-19 15:44:25 -08:00
Nikolay Kim
1596f4db73
refactor url encoded body parsing
2017-12-19 14:03:01 -08:00
Nikolay Kim
fa2a3bc55e
make method private
2017-12-19 13:11:19 -08:00
Nikolay Kim
db7bd962cb
fix some doc strings
2017-12-19 11:46:11 -08:00
Nikolay Kim
2bad99b645
better query() method impl; update doc strings
2017-12-19 11:34:51 -08:00
Nikolay Kim
e3f9345420
multipart field is stream of bytes
2017-12-19 09:55:49 -08:00
Nikolay Kim
790793f8a1
refactor multipart stream creation
2017-12-19 09:51:28 -08:00
Nikolay Kim
13cbfc877d
simplify server start method
2017-12-19 09:08:36 -08:00
Nikolay Kim
4f6145e5c7
fix typos
2017-12-19 00:29:25 -08:00
Nikolay Kim
f3b853f224
refactor payload
2017-12-19 00:18:57 -08:00
Nikolay Kim
0cab873066
make payload sender public
2017-12-18 21:58:38 -08:00
Nikolay Kim
2124730e0a
guide update
2017-12-18 18:56:58 -08:00
Nikolay Kim
9ed4159c0c
update examples
2017-12-18 13:06:41 -08:00
Nikolay Kim
27d92f3a23
refactor server bind and start process
2017-12-17 12:35:04 -08:00
Nikolay Kim
b1f33e29ec
simplify content-length calculation
2017-12-16 07:29:15 -08:00
Nikolay Kim
ed8bd3d6a3
h1 cleanups
2017-12-15 22:49:48 -08:00
Nikolay Kim
1daf50095a
cleanup response
2017-12-15 20:00:12 -08:00
Nikolay Kim
a8b2f1b821
update tests
2017-12-15 18:49:11 -08:00
Nikolay Kim
1ddcce7b76
hide httpresponse box
2017-12-15 16:24:15 -08:00
Nikolay Kim
c3d5e4301a
cleanup h1 parse
2017-12-15 13:10:12 -08:00
Nikolay Kim
4913e7d3c2
cleanup
2017-12-14 22:22:27 -08:00
Nikolay Kim
106f43e874
better SharedBytes usage for h2
2017-12-14 20:48:31 -08:00
Nikolay Kim
2b0994e448
update tests
2017-12-14 20:29:49 -08:00
Nikolay Kim
c37565cc4a
various server optimizations
2017-12-14 19:34:31 -08:00
Nikolay Kim
b61c2a0cf0
handle keep-alive setting more efficient
2017-12-14 11:20:45 -08:00
Nikolay Kim
c98d320f8c
rename FromRequest trait to Responder
2017-12-14 09:43:42 -08:00
Nikolay Kim
355f54efe2
update api docs
2017-12-13 23:35:21 -08:00
Nikolay Kim
8c1487f7f2
update tests
2017-12-13 23:09:35 -08:00
Nikolay Kim
4529efa948
rename module
2017-12-13 22:54:52 -08:00
Nikolay Kim
9d0a64ac98
remove unused file
2017-12-13 22:43:16 -08:00
Nikolay Kim
b7cde3f4a9
update guide
2017-12-13 22:36:28 -08:00
Nikolay Kim
408ddf0be1
add ssl guide ref
2017-12-13 21:56:30 -08:00
Nikolay Kim
c2751efa87
refactor keep-alive; update guide
2017-12-13 21:38:47 -08:00
Nikolay Kim
96f598f2c4
various optimizations
2017-12-13 16:44:35 -08:00
Nikolay Kim
81f8da03ae
refactor http workers
2017-12-13 12:47:07 -08:00
Nikolay Kim
6b61041aec
move tests
2017-12-13 11:16:26 -08:00
Nikolay Kim
d4187f682b
various cleanups
2017-12-13 11:10:03 -08:00
Nikolay Kim
55204c829c
update tests
2017-12-13 08:00:25 -08:00
Nikolay Kim
2e83c5924d
cleanup and optimize some code
2017-12-12 21:32:58 -08:00
Nikolay Kim
ab6efd2421
handle http connections in different threads
2017-12-12 17:21:00 -08:00
Nikolay Kim
55818028cb
state does not need to be Send
2017-12-12 08:51:16 -08:00
Nikolay Kim
e9aa67b75d
http server accepts factory of HttpHandlers
2017-12-12 07:40:36 -08:00
Nikolay Kim
007b7ce62f
unify route not found handling
2017-12-11 16:26:51 -08:00
Nikolay Kim
0f75d066f2
simplify Application creation; update url dispatch guide section
2017-12-11 14:16:29 -08:00
Nikolay Kim
0388a464ba
tests for NormalizePath
2017-12-09 13:25:06 -08:00
Nikolay Kim
71bbe2a5dd
update doc string for NormalizePath
2017-12-09 11:55:55 -08:00
Nikolay Kim
7addd2800d
add NormalizePath handler
2017-12-09 11:39:13 -08:00
Nikolay Kim
273de2260d
refactor pipeline
2017-12-09 05:54:04 -08:00
Nikolay Kim
b98ab2eebe
use trait instead of pipeline
2017-12-09 04:33:40 -08:00
Nikolay Kim
4a40b026a4
more error wrappers
2017-12-08 15:52:46 -08:00
Nikolay Kim
a44f71d8c2
make ErrorBadRequest type useful
2017-12-08 15:25:37 -08:00
Nikolay Kim
9043e7286d
tests for default predicates
2017-12-08 12:51:44 -08:00
Nikolay Kim
3e91b06241
fix static files
2017-12-08 12:29:28 -08:00
Nikolay Kim
774bfc0a86
use server settings for scheme and host values
2017-12-08 09:48:53 -08:00
Nikolay Kim
1293619096
set server settings to HttpHandler
2017-12-08 09:24:05 -08:00
Nikolay Kim
2192d14eff
added ServerSettings
2017-12-07 22:54:44 -08:00
Nikolay Kim
b71ddf7b4c
pass local addr to channel; use bitflags
2017-12-07 21:52:46 -08:00
Nikolay Kim
d595dd850e
load cookies automatically
2017-12-07 18:00:20 -08:00
Nikolay Kim
0abb3863dc
simplify api
2017-12-07 17:38:18 -08:00
Nikolay Kim
dff7618f35
rearrange exports
2017-12-07 16:40:29 -08:00
Nikolay Kim
968f5d39d6
added external resources; refactor route recognizer
2017-12-07 16:22:26 -08:00
Nikolay Kim
2a0d5db41a
more tests
2017-12-06 18:39:13 -08:00
Nikolay Kim
4b03d03404
rearrange exports
2017-12-06 17:06:40 -08:00
Nikolay Kim
9ea0781aba
fix test
2017-12-06 16:58:49 -08:00
Nikolay Kim
63502fa833
test for Router::has_route
2017-12-06 16:40:23 -08:00
Nikolay Kim
a18bd5dac0
add doc ref
2017-12-06 16:34:54 -08:00
Nikolay Kim
0dd27bd224
added HttpRequest::url_for
2017-12-06 16:26:27 -08:00
Nikolay Kim
8d52e2bbd9
tests for default resource
2017-12-06 13:02:53 -08:00
Nikolay Kim
c63f058647
simplify application creation
2017-12-06 11:00:39 -08:00
Nikolay Kim
87c7441f7d
remove Applicaiton::route, resource is enough
2017-12-06 08:03:08 -08:00
Nikolay Kim
04ded5ba68
hide pkcs
2017-12-06 07:49:01 -08:00
Nikolay Kim
903b391e0a
move ConnectionInfo to dev
2017-12-06 07:47:42 -08:00
Nikolay Kim
20af8822fd
cleanup
2017-12-05 21:53:00 -08:00
Nikolay Kim
d7e65b6212
add ConnectionInfo tests
2017-12-05 21:41:30 -08:00
Nikolay Kim
c3de32c3b3
added ConnectionInfo
2017-12-05 17:09:15 -08:00
Nikolay Kim
d8b880e167
work on resource_path api
2017-12-05 13:31:06 -08:00
Nikolay Kim
86d7290f9e
update tests
2017-12-05 11:43:41 -08:00
Nikolay Kim
a83d9b24ae
extrat elements of path pattern
2017-12-05 11:31:35 -08:00
Nikolay Kim
3c9b6ea619
update guide
2017-12-04 20:38:38 -08:00
Nikolay Kim
fd6b243cd6
update examples
2017-12-04 16:32:31 -08:00
Nikolay Kim
f4e9fc7b6a
rename async to a
2017-12-04 16:09:22 -08:00
Nikolay Kim
e332c1242f
use Route for Applicaiton handlers
2017-12-04 14:53:40 -08:00
Nikolay Kim
f5d6179a34
renamed Route::handler to Route::f, added Route::h to register Handler
2017-12-04 14:07:53 -08:00
Nikolay Kim
a163e75318
drop tail path pattern
2017-12-04 13:34:55 -08:00
Nikolay Kim
3bf3738e65
introduce route predicates
2017-12-04 13:32:05 -08:00
Nikolay Kim
57fd35ffc1
added default headers middleware
2017-12-03 20:47:15 -08:00
Nikolay Kim
d35be02587
cleanup
2017-12-03 20:09:46 -08:00
Nikolay Kim
319e9bbd05
added Json response support
2017-12-03 18:51:52 -08:00
Nikolay Kim
5decff9154
added fs tests
2017-12-03 18:15:09 -08:00
Nikolay Kim
69f0c098e3
check show_index
2017-12-03 16:58:31 -08:00
Nikolay Kim
5abc46034a
refactor static files
2017-12-03 16:57:25 -08:00
Nikolay Kim
7c6faaa8e0
add Item and Error to FromRequest trait
2017-12-03 14:22:04 -08:00
Nikolay Kim
6bc7d60f52
more default impls for FromRequest
2017-12-02 17:14:55 -08:00
Nikolay Kim
fb3185de94
rename module
2017-12-02 16:47:02 -08:00
Nikolay Kim
61744b68a1
introduce custom FromRequest traint for conversion into Reply
2017-12-02 16:37:21 -08:00
Nikolay Kim
187948ddd1
error response for io::Error
2017-12-02 14:58:22 -08:00
Nikolay Kim
29a26b3236
code cleanup
2017-12-02 12:14:16 -08:00
Nikolay Kim
0fc01c48d1
return bad request for param parse error
2017-12-02 11:03:41 -08:00
Nikolay Kim
ebfd3ac275
tests for PathBuf::from_param
2017-12-02 10:43:14 -08:00
Nikolay Kim
d8f27e95a6
added FromParam trait for path segment conversions, FramParam impl for PathBuf
2017-12-02 10:18:54 -08:00
Nikolay Kim
c3a0a4457a
add appl builder async method; add async handler section
2017-12-01 21:58:19 -08:00
Nikolay Kim
f0c346f18c
handler info
2017-12-01 21:29:22 -08:00
Nikolay Kim
186726fbad
tests for Completed state
2017-12-01 19:57:34 -08:00
Nikolay Kim
97bed17fd2
test for completed pipeline state
2017-12-01 16:10:01 -08:00
Nikolay Kim
47645626c4
refactor pipeline
2017-12-01 15:45:15 -08:00
Nikolay Kim
9a1ba527c0
recognizer tests
2017-11-30 19:34:33 -08:00
Nikolay Kim
3fcd5f6935
use http::Uri for uri parsing
2017-11-30 19:01:25 -08:00
Nikolay Kim
7135c0163b
simlify code
2017-11-30 18:27:27 -08:00
Nikolay Kim
f53f35f364
added tail pattern
2017-11-30 15:48:09 -08:00
Nikolay Kim
07cc017320
make Task private
2017-11-30 15:13:56 -08:00
Nikolay Kim
271a292ea5
no need to store disconnected state on task
2017-11-30 14:44:58 -08:00
Nikolay Kim
6e138bf373
refactor streaming responses
2017-11-30 14:42:20 -08:00
Nikolay Kim
a0bca2d4cf
fix typo
2017-11-30 07:42:02 -08:00
Nikolay Kim
6c4fdf604b
do not set content encoding header for upgraded connection
2017-11-29 19:40:27 -08:00
Nikolay Kim
e4f8551cba
do not com press upgrade connection
2017-11-29 19:36:55 -08:00
Nikolay Kim
559b1c50a3
do not encode payload less that 1024 bytes
2017-11-29 19:18:37 -08:00
Nikolay Kim
d2eae3d5b3
simplify Handler trait
2017-11-29 15:10:45 -08:00
Nikolay Kim
991dd107b1
update ws doc
2017-11-29 14:12:27 -08:00
Nikolay Kim
acc2fff655
export and simplify HttpHandler trait
2017-11-29 13:53:52 -08:00
Nikolay Kim
427566b90d
export Handler
2017-11-29 13:41:51 -08:00
Nikolay Kim
16ceb741b8
refactor RouteHandler trait
2017-11-29 13:26:55 -08:00
Nikolay Kim
6f833798c7
refactor http actor handling
2017-11-29 10:31:24 -08:00
Nikolay Kim
6177d86d97
refactor handler rtype handling
2017-11-29 09:17:00 -08:00
Nikolay Kim
e9bfab8012
add deref for payload item
2017-11-28 19:51:39 -08:00
Nikolay Kim
afeecea05f
refactor reply handling
2017-11-28 19:49:17 -08:00
Nikolay Kim
987b275c3f
add response test
2017-11-28 14:29:22 -08:00
Nikolay Kim
932e751240
add status code helper method for http response
2017-11-28 14:23:42 -08:00
Nikolay Kim
706e2a07de
add helper converters into response
2017-11-28 13:52:53 -08:00
Nikolay Kim
b55d69b4c2
better handler result handling
2017-11-28 12:42:53 -08:00
Nikolay Kim
0bd8725426
make resource handler result more generic
2017-11-28 12:28:51 -08:00
Nikolay Kim
599f3c26e0
start working on guide
2017-11-27 16:41:37 -08:00
Nikolay Kim
b5a4f6f855
hellper method for json body
2017-11-27 10:39:47 -08:00
Nikolay Kim
170d3163f3
better export naming
2017-11-26 22:53:28 -08:00
Nikolay Kim
0519056199
consistent naming
2017-11-26 22:31:29 -08:00
Nikolay Kim
45433f71e5
impl Default trait for HttpRequest
2017-11-26 22:20:28 -08:00
Nikolay Kim
b62b303fdb
remove unneeded directives
2017-11-26 22:11:51 -08:00
Nikolay Kim
8e80fed2af
added urlencoded errors
2017-11-26 22:00:25 -08:00
Nikolay Kim
fdafb0c848
simplify middleware api; fix examples
2017-11-26 21:47:33 -08:00
Nikolay Kim
5a3b6638a7
move state to request object
2017-11-26 21:18:38 -08:00
Nikolay Kim
8e0a7f44d4
pass request by value
2017-11-26 20:34:20 -08:00
Nikolay Kim
eb7f48a1c6
include payload into request
2017-11-26 19:00:57 -08:00
Nikolay Kim
32483735ba
cookie session implementation
2017-11-26 17:34:11 -08:00
Nikolay Kim
53ce186294
cleanup pipeline
2017-11-25 12:05:27 -08:00
Nikolay Kim
37c1e78c7a
added helper Task::error method
2017-11-25 10:52:43 -08:00
Nikolay Kim
45ecb87eab
allow middlware error result
2017-11-25 10:24:45 -08:00
Nikolay Kim
54bbc98343
cookie session prototype
2017-11-25 09:52:32 -08:00
Nikolay Kim
f4972150cc
better middleware error handling
2017-11-25 09:40:57 -08:00
Nikolay Kim
1fc64bc83d
better pipeline error handling
2017-11-25 09:28:25 -08:00
Nikolay Kim
64ade803f9
store error for error response
2017-11-25 09:03:44 -08:00
Nikolay Kim
940bc08aba
remove unused imports
2017-11-24 22:19:06 -08:00
Nikolay Kim
7569036dd4
refactor request pipeline
2017-11-24 22:15:52 -08:00
Nikolay Kim
59b8214685
better nightly detection
2017-11-24 10:28:43 -08:00
Nikolay Kim
f33c489154
added default ErrorResponse for std::error::Error
2017-11-24 10:03:13 -08:00
Nikolay Kim
5529ea0428
better logger format test
2017-11-23 16:53:02 -08:00
Nikolay Kim
39a20fb95d
use env_logger for logger tests
2017-11-23 15:48:59 -08:00
Nikolay Kim
155a636487
more logger tests
2017-11-23 15:37:11 -08:00
Nikolay Kim
e571587a8c
refactor logger middleware
2017-11-23 15:17:16 -08:00
Nikolay Kim
5945035fc3
better method name
2017-11-19 18:55:37 -10:00
Nikolay Kim
766e243c63
more Body tests
2017-11-19 18:32:37 -10:00
Nikolay Kim
83862dfbb4
update payload tests
2017-11-19 18:26:30 -10:00
Nikolay Kim
c44e4ad100
expect error tests
2017-11-19 18:02:31 -10:00
Nikolay Kim
1a0e87ac3c
add tests for errors
2017-11-19 17:58:47 -10:00
Nikolay Kim
72edd75eab
add custom ExceptError
2017-11-19 17:51:14 -10:00
Nikolay Kim
78d8d21196
cleanup error
2017-11-19 17:26:31 -10:00
Nikolay Kim
a87784ba15
use Result intead of HandlerResult
2017-11-18 06:50:07 -10:00