Luke Cowell
7c395fcc83
replace typo scoupe
with scope
2018-05-08 17:40:18 -07:00
Nikolay Kim
54c33a7aff
Allow to exclude certain endpoints from logging #211
2018-05-08 16:30:34 -07:00
Nikolay Kim
47d80382b2
Fix http/2 payload streaming #215
2018-05-08 15:44:50 -07:00
Niklas Fiekas
6f75b0e95e
let Path::from_request() fail with ErrorNotFound
2018-05-08 22:59:46 +02:00
Nikolay Kim
b3cc43bb9b
Fix connector's default keep-alive and lifetime settings #212
2018-05-08 13:41:04 -07:00
Nikolay Kim
ecda97aadd
update doc string
2018-05-08 05:54:06 -07:00
Nikolay Kim
8cda362866
simplify pipeline
2018-05-07 16:09:41 -07:00
Nikolay Kim
72908d974c
test for Scope::route(); prep release
2018-05-07 15:19:03 -07:00
Nikolay Kim
c755d71a8b
add filters support to scopes
2018-05-07 14:40:04 -07:00
Nikolay Kim
a817ddb57b
add variable segments support for scope prefix
2018-05-07 13:50:43 -07:00
Nikolay Kim
c92ebc22d7
Merge branch 'master' into feature/spelling-check-06-05
2018-05-07 11:30:39 -07:00
Alexander Andreev
599fd6af93
fix formatting
2018-05-07 20:53:45 +03: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
Alexander Andreev
cd11293c1f
spelling check
2018-05-06 19:07:30 +03:00
Nikolay Kim
0af4d01fe4
move middleware tests to seprate module
2018-05-05 12:18:43 -07:00
Nikolay Kim
03d6b04eef
update tests
2018-05-04 12:11:38 -07:00
Nikolay Kim
f37880d89c
refactor Responder trait
2018-05-04 11:44:22 -07:00
Nikolay Kim
8b43574bd5
Merge branch 'master' of github.com:actix/actix-web
2018-05-03 16:27:12 -07:00
Nikolay Kim
b07d0e712f
always provide backtrace for error
2018-05-03 16:26:42 -07:00
Nikolay Kim
acd7380865
rename Reply to a AsyncResult
2018-05-03 16:22:08 -07:00
Nikolay Kim
bb61dd41af
Merge branch 'master' into ws-trait
2018-05-03 08:57:45 -07:00
Nikolay Kim
58079b5bbe
add session test
2018-05-02 19:11:44 -07:00
Nikolay Kim
3623383e83
fix tests
2018-05-02 16:48:42 -07:00
Nikolay Kim
7036656ae4
make Reply generic over error too
2018-05-02 16:33:29 -07:00
Nikolay Kim
32a2866449
Allow to override files listing renderer for #203
2018-05-02 15:53:07 -07:00
Nikolay Kim
4ca5d8bcfc
add FromRequest impl for tuples of various length
2018-05-02 13:38:25 -07:00
Nikolay Kim
1aadfee6f7
rename from_default to extract
2018-05-02 06:09:50 -07:00
Nikolay Kim
76b644365f
use read only ref for FromRequest; remove unnecessary static
2018-05-02 06:07:30 -07:00
Denis Kolodin
80f385e703
Add WsWriter trait
...
`WsWriter` trait is a common interface for writing to a websocket and
it's implemented for both: `WebScoketContext` and `ClientWriter`.
2018-05-02 08:35:50 +03:00
Nikolay Kim
a1958deaae
add impl Future for Reply
2018-05-01 17:30:06 -07:00
Nikolay Kim
8d65468c58
refactor FromRequest trait
2018-05-01 17:19:15 -07:00
Nikolay Kim
195246573e
rename threads to workers
2018-05-01 13:15:35 -07:00
Nikolay Kim
e01102bda2
no need for mut
2018-05-01 11:45:46 -07:00
Nikolay Kim
9b6343d54b
refactor session impl
2018-05-01 09:40:23 -07:00
Nikolay Kim
d9a4fadaae
make HttpRequest::extensions() readonly
2018-05-01 09:05:50 -07:00
Nikolay Kim
48e05a2d87
add nested scope support
2018-04-30 22:04:24 -07:00
Nikolay Kim
d43ca96c5c
Allow to use ssl and non-ssl connections with the same HttpServer #206
2018-04-30 19:51:55 -07:00
Nikolay Kim
bfd46e6a71
update doc string
2018-04-29 22:28:16 -07:00
Nikolay Kim
25b245ac72
allow to use custom state for scope
2018-04-29 22:19:52 -07:00
Nikolay Kim
eefbe19651
remove deprecated types and methods
2018-04-29 21:05:10 -07:00
Nikolay Kim
ab4e889f96
add middleware finished handler for route middleware
2018-04-29 20:50:38 -07:00
Nikolay Kim
91235ac816
fix reading from socket
2018-04-29 20:34:59 -07:00
Nikolay Kim
9c1bda3eca
fix stable compiler compatibility
2018-04-29 19:49:26 -07:00
Nikolay Kim
4a29f12876
update doc string; missing file
2018-04-29 19:39:28 -07:00
Nikolay Kim
368730f5f1
Add route scopes #202
2018-04-29 19:35:50 -07:00
Nikolay Kim
aa757a5be8
Allow to access Error's backtrace object
2018-04-29 14:21:50 -07:00
Nikolay Kim
03ded62337
bump minimum supported rustc version because of minor version change of parking_lot crate
2018-04-29 14:13:46 -07:00
Nikolay Kim
c72d1381a6
clippy warnings
2018-04-29 09:09:08 -07:00
Nikolay Kim
d98d723f97
bump rustc version requirements
2018-04-29 08:24:19 -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
Nikolay Kim
a38c3985f6
refactor http1 parser
2018-04-28 22:20:32 -07:00
Sven-Hendrik Haase
492c072564
Add Content-Disposition to NamedFile ( fixes #172 )
2018-04-27 09:49:55 +02:00
Nikolay Kim
fd876efa68
allow to access application state during configuration stage
2018-04-26 09:05:07 -07:00
Nikolay Kim
927f2e594e
Merge branch 'master' into websocket_close_reason
2018-04-25 20:17:19 -07:00
Nikolay Kim
5ca904d1db
make flate crate optional
2018-04-24 12:24:04 -07:00
Nikolay Kim
f8af3ef7f4
refactor keep-alive
2018-04-22 15:28:04 -07:00
Nathan Fox
f8b75c157f
fix style
2018-04-22 11:43:47 -04:00
Nathan Fox
b7b61afacc
add ws close description parse test
2018-04-21 17:20:23 -04:00
Nathan Fox
507361c1df
Merge branch 'master' into websocket_close_reason
2018-04-21 17:05:43 -04:00
Nathan Fox
f6fd9e70f9
code cleanup
2018-04-21 16:53:55 -04:00
Nathan Fox
de8a09254d
use Optional with websocket close reason
2018-04-21 16:50:27 -04:00
Brandur
59244b203c
Let CSRF's allowed_origin()
be specified as a type supporting Into<String>
...
A very minor addition: I'm using this middleware on specific resources,
and given a non-static string, I often have to `clone()` already to get
a string into a closure. Take this code for example:
``` rust
let server = actix_web::server::new(move || {
let csrf_origin_graphql = csrf_origin.clone();
...
.resource("/graphql", move |r| {
r.middleware(
csrf::CsrfFilter::new().allowed_origin(csrf_origin_graphql.as_str()),
);
r.method(Method::POST).a(graphql::handlers::graphql_post);
})
```
Letting `allowed_origin()` take an `Into<String>` instead of `&str` would
prevent a second `clone()` in the code above, and also make the code a little
nicer to read (you eliminate the `.as_str()` above). This is a pattern that
seems to be common throughout actix-web already anyway, so it should also be
fine to have here.
2018-04-21 08:41:06 -07:00
Nikolay Kim
2adf8a3a48
add changelog entry
2018-04-21 07:56:11 -07:00
Nathan Fox
5528cf62f0
check if close code exists before reading it
2018-04-20 21:30:18 -04:00
Nikolay Kim
01a0f3f5a0
remove unused dependency
2018-04-19 09:54:22 -07:00
Nikolay Kim
2c8d987241
Use Display formatting for InternalError Display implementation #188
2018-04-19 07:55:09 -07:00
Nikolay Kim
813d1d6e66
doc strings layout
2018-04-18 20:41:03 -07:00
Nikolay Kim
48b02abee7
fmt
2018-04-18 20:16:29 -07:00
Nikolay Kim
ce1081432b
export session module
2018-04-18 20:11:49 -07:00
Nikolay Kim
e9bdba57a0
Add identity service middleware
2018-04-18 19:05:24 -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
022f9800ed
formatting
2018-04-18 10:49:03 -07:00
Nikolay Kim
50b9fee3a7
Merge branch 'master' of github.com:actix/actix-web
2018-04-17 16:24:02 -07:00
Nikolay Kim
bf9a90293f
fix doc strings
2018-04-17 16:22:25 -07:00
Kornel
5b4b885fd6
Replace use of try!() with ?
2018-04-17 23:20:47 +01:00
Nikolay Kim
65b8197876
better doc string for Application::with_state()
2018-04-17 13:59:55 -07:00
Nikolay Kim
a826d113ee
add custom request path quoter #182
2018-04-17 12:55:13 -07:00
Nikolay Kim
3a79505a44
update doc string
2018-04-17 07:51:06 -07:00
Aleksey Ivanov
6a7b097bcf
Fix route in App::resource example
2018-04-17 16:01:34 +03:00
Nikolay Kim
30a36bed9d
fix doc example
2018-04-16 09:50:37 -07:00
Nikolay Kim
79818560b2
cleanup doc strings; prepare release
2018-04-16 09:30:59 -07:00
Nikolay Kim
58cc0dfbc5
Fix Client Request with custom Body Stream halting on certain size requests #176
2018-04-15 10:22:09 -07:00
Nikolay Kim
a9ea649348
Allow to configure StaticFiles CpuPool, via static method or env variable
2018-04-13 19:46:14 -07:00
Nikolay Kim
a5b5ff0894
update doc strings
2018-04-13 19:14:14 -07:00
Nikolay Kim
5140fea8d1
allow to use castom error handler for json extractor
2018-04-13 19:10:42 -07:00
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