Nikolay Kim
f73f97353b
refactor ResponseError trait
2019-11-26 16:07:39 +06:00
Nikolay Kim
4dc31aac93
use actix_rt::test for test setup
2019-11-26 11:25:50 +06:00
Jim Blandy
c5907747ad
Remove implementation of Responder for (). Fixes #1108 .
...
Rationale:
- In Rust, one can omit a semicolon after a function's final expression to make
its value the function's return value. It's common for people to include a
semicolon after the last expression by mistake - common enough that the Rust
compiler suggests removing the semicolon when there's a type mismatch between
the function's signature and body. By implementing Responder for (), Actix makes
this common mistake a silent error in handler functions.
- Functions returning an empty body should return HTTP status 204 ("No Content"),
so the current Responder impl for (), which returns status 200 ("OK"), is not
really what one wants anyway.
- It's not much of a burden to ask handlers to explicitly return
`HttpResponse::Ok()` if that is what they want; all the examples in the
documentation do this already.
2019-11-23 21:10:02 +06:00
Nikolay Kim
8683ba8bb0
rename .to_async() to .to()
2019-11-21 21:36:35 +06:00
Nikolay Kim
1f0577f8d5
cleanup api doc examples
2019-11-21 16:02:17 +06:00
Nikolay Kim
53c5151692
use response instead of result for asyn c handlers
2019-11-21 16:02:17 +06:00
Nikolay Kim
55698f2524
migrade rest of middlewares
2019-11-21 16:02:17 +06:00
Nikolay Kim
3127dd4db6
migrate actix-web to std::future
2019-11-21 16:02:17 +06:00
Feiko Nanninga
88110ed268
Add security note to ConnectionInfo::remote() ( #1158 )
2019-11-14 08:32:47 +06:00
Nikolay Kim
f7f410d033
fix test order dep
2019-11-06 11:20:47 -08:00
Anton Lazarev
ace98e3a1e
support Host guards when Host header is unset ( #1129 )
2019-10-15 05:05:54 +06:00
Priit Laes
0f09415469
Convert documentation examples to Rust 2018 edition ( #1120 )
...
* Convert types::query examples to rust-2018 edition
* Convert types::json examples to rust-2018 edition
* Convert types::path examples to rust-2018 edition
* Convert types::form examples to rust-2018 edition
* Convert rest of the examples to rust-2018 edition.
2019-10-07 11:29:11 +06:00
Koen Hoeijmakers
15d3c1ae81
Update docs of guard.rs ( #1116 )
...
* Update guard.rs
2019-10-07 12:05:17 +09:00
Igor Aleksanov
f81ae37677
Add From<Payload> for crate::dev::Payload ( #1110 )
...
* Add From<Payload> for crate::dev::Payload
* Make dev::Payload field of Payload public and add into_inner method
* Add changelog entry
2019-10-01 14:05:38 +06:00
Nikolay Kim
5169d306ae
update ConnectionInfo.remote() doc string
2019-09-27 07:03:12 +06:00
karlri
c659c33919
Feature uds: Add listen_uds to ServerBuilder ( #1085 )
...
Allows using an existing Unix Listener instead of binding to a path.
Useful for when running as a daemon under systemd.
Change-Id: I54a0e78c321d8b7a9ded381083217af590e9a7fa
2019-09-25 15:16:51 +06:00
Nikolay Kim
d9af8f66ba
Use actix-testing for testing utils
2019-09-25 10:28:41 +06:00
Jim Blandy
58c7065f08
Implement register_data
method on Resource
and Scope
. ( #1094 )
...
* Implement `register_data` method on `Resource` and `Scope`.
* Split Scope::register_data tests out from Scope::data tests.
* CHANGES.md: Mention {Scope,Resource}::register_data.
2019-09-18 06:36:39 +06:00
Jos van den Oever
32a1c36597
Make UrlencodedError::Overflow more informative ( #1089 )
2019-09-17 06:58:04 +06:00
Nikolay Kim
a32573bb58
Allow to re-construct ServiceRequest from HttpRequest and Payload #1088
2019-09-13 11:56:24 +06:00
Nikolay Kim
60b7aebd0a
fmt & clippy
2019-09-12 21:52:46 +06:00
κeen
8a9fcddb3c
Condition middleware ( #1075 )
...
* add condition middleware
* write tests
* update changes
* Update src/middleware/condition.rs
Co-Authored-By: Yuki Okushi <huyuumi.dev@gmail.com>
* Update src/middleware/condition.rs
Co-Authored-By: Yuki Okushi <huyuumi.dev@gmail.com>
* Update src/middleware/condition.rs
Co-Authored-By: Yuki Okushi <huyuumi.dev@gmail.com>
* Update src/middleware/condition.rs
Co-Authored-By: Yuki Okushi <huyuumi.dev@gmail.com>
2019-09-09 12:26:38 +06:00
Nikolay Kim
63ddd30ee4
on_connect result isnt added to request extensions for http2 requests #1009
2019-09-01 13:15:02 +06:00
Philip Jenvey
616981ecf9
clear extensions before reclaiming HttpRequests in their pool ( #1063 )
...
Issue #1062
2019-08-29 09:35:05 +06:00
Leland Jansen
c193137905
actix_web::test::TestRequest::set_form ( #1058 )
2019-08-28 21:32:17 +06:00
Erlend Langseth
a07cdd6533
Data::into_inner
2019-08-27 17:25:25 +01:00
Yuki Okushi
23d768a77b
Add explicit dyn
s ( #1041 )
...
* Add explicit `dyn`s
* Remove unnecessary lines
2019-08-17 02:45:44 +09:00
Nikolay Kim
0d9ea41047
update min rust version
2019-07-31 06:49:46 -07:00
Cyril Plisko
6f2049ba9b
Fix typo
2019-07-25 12:54:59 +01:00
jesskfulwood
8f48ed2597
impl Responder for Form
2019-07-20 14:46:46 +01:00
Nikolay Kim
941241c5f0
Remove unneeded actix-utils dependency
2019-07-20 10:50:36 +06:00
jesskfullwood
f8320fedd8
add note about Query decoding ( #992 )
2019-07-19 17:37:49 +06:00
jesskfullwood
c808364c07
make Query payload public ( #991 )
2019-07-19 15:47:44 +06:00
Anton Lazarev
3650f6d7b8
Re-implement Host predicate ( #989 )
...
* update HostGuard implementation
* update/add tests for new HostGuard implementation
2019-07-19 10:28:43 +06:00
Nikolay Kim
fbdda8acb1
Unix domain sockets (HttpServer::bind_uds) #92
2019-07-18 17:24:12 +06:00
Rotem Yaari
d03296237e
Log error results in Logger middleware ( closes #938 ) ( #984 )
...
* Log error results in Logger middleware (closes #938 )
* Log internal server errors with an ERROR log level
* Logger middleware: don't log 500 internal server errors, as Actix now logs them always
* Changelog
2019-07-18 14:31:18 +06:00
Nikolay Kim
2a2d7f5768
nightly clippy warnings
2019-07-17 15:53:51 +06:00
Nikolay Kim
4092c7f326
clippy warnings
2019-07-17 15:08:30 +06:00
Nikolay Kim
baaa7b3fbb
Replace ClonableService with local copy
2019-07-17 13:55:44 +06:00
Ravi Shankar
32718b7e31
Expose factory traits and some clippy fixes ( #983 )
2019-07-17 12:58:42 +06:00
Nikolay Kim
7b1dcaffda
cleanup deprecation warning for Box<dyn>
2019-07-17 11:44:39 +06:00
Nikolay Kim
c65dbaf88e
expose app's ResourceMap via resource_map method
2019-07-17 11:33:05 +06:00
Nikolay Kim
c45728ac01
prep test server release
2019-07-16 10:21:52 +06:00
messense
b1143168e5
Impl Responder for (T, StatusCode) where T: Responder ( #954 )
2019-07-11 14:42:58 +06:00
Nikolay Kim
69456991f6
update api doc example for client and add panic info for connection_info
2019-07-11 14:40:37 +06:00
Michael Snoyman
0d8a4304a9
Drop a duplicated word ( #958 )
2019-07-05 20:46:55 +06:00
Cameron Dershem
37f4ce8604
Fixes typo in docs. ( #948 )
...
Small typo in docs.
2019-06-29 10:38:16 +06:00
messense
44bb79cd07
Call req.path() on Json extractor error only ( #945 )
...
* Call req.path() on Json extractor error only
* Cleanup len parse code
2019-06-28 10:44:53 +06:00
Nikolay Kim
af9fb5d190
Support asynchronous data factories #850
2019-06-28 10:43:52 +06:00
Cameron Dershem
c0c71f82c0
Fixes typo. ( #940 )
...
Small typo fix.
2019-06-25 23:23:36 +06:00
messense
313ac48765
Use encoding_rs crate instead of unmaintained encoding crate ( #922 )
...
* Use encoding_rs crate instead of unmaintained encoding crate
* Update changelog
2019-06-18 12:43:25 +06:00
Joe Roberts
d7780d53c9
Fix typo in actix_web::web::Data::get_ref docstring
( #921 )
2019-06-18 07:27:23 +06:00
Nikolay Kim
546a8a58db
remove cors and identity middlewares
2019-06-17 12:33:00 +06:00
Nikolay Kim
d293ae2a69
fix nested resource map registration #915
2019-06-15 22:12:20 +06:00
Nikolay Kim
d7ec241fd0
re-export identity and cors middleware
2019-06-15 21:47:06 +06:00
Nikolay Kim
cd323f2ff1
Move cors middleware to actix-cors crate
2019-06-15 09:34:16 +06:00
Nikolay Kim
c8118e8411
fix path doc tests
2019-06-12 20:12:15 +06:00
Nikolay Kim
e7ba67e1a8
rename PathPayloadError and test for path config
2019-06-12 17:02:45 +06:00
Lucas Berezy
13e618b128
Added initial support for PathConfig, allows setting custom error handler. ( #903 )
2019-06-12 16:49:56 +06:00
Nikolay Kim
7450ae37a7
Re-apply patch from #637 #894
2019-06-12 16:45:05 +06:00
Nikolay Kim
2ffda29f9b
Allow to test an app that uses async actors #897
2019-06-12 16:15:06 +06:00
Nikolay Kim
ff724e239d
move identity service separate crate
2019-06-12 15:52:48 +06:00
Bob
ee769832cf
get_identity from HttpMessage ( #908 )
...
* get_identity from HttpMessage
* more doc for RequestIdentity
2019-06-12 09:26:46 +06:00
Stefano Probst
53e2f8090f
Mark default enabled package features in the docs ( #890 )
2019-06-06 11:14:56 +06:00
Nikolay Kim
d9a62c4bbf
add App::register_data()
2019-06-05 08:43:39 +06:00
Nikolay Kim
0e138e111f
add external resource support on scope level
2019-06-03 23:41:32 +06:00
Denys Vitali
1fce4876f3
Scope configuration ( #880 )
...
* WIP: Scope configuarion
* Extensions: Fix into_iter()
* Scope: Fix tests
* Add ScopeConfig to web
Committing from mobile, if this doesn't look good it's because I haven't tested it...
* Scope Config: Use ServiceConfig instead
* Scope: Switch to ServiceConfig in doc
* ScopeConfig: Remove unnecessary changes, handle the case when data is empty
* ScopeConfig: Remove changes from actix-http
2019-06-03 23:12:37 +06:00
Nikolay Kim
15cdc680f6
Static files are incorrectly served as both chunked and with length #812
2019-06-01 17:57:40 +06:00
Mohab Usama
f1764bba43
Fix Logger time format (use rfc3339) ( #867 )
...
* Fix Logger time format (use rfc3339)
* Update change log
2019-05-31 12:09:21 +04:00
Nikolay Kim
1eb89b8375
remove debug prints
2019-05-25 03:16:53 -07:00
Vlad Frolov
801cc2ed5d
Cleaned unnecessary Option<_> around ServerBuilder in server.rs/HttpServer ( #863 )
2019-05-23 05:21:02 -07:00
Nikolay Kim
ded1e86e7e
Add ServiceRequest::set_payload() method
2019-05-22 21:25:51 -07:00
Nikolay Kim
d3e807f6e9
move Payload to inner http request
2019-05-22 11:49:27 -07:00
Nikolay Kim
7746e785c1
re-export Service and Transform traits
2019-05-22 11:20:37 -07:00
Nikolay Kim
4e141d7f5d
Merge branch 'master' of github.com:actix/actix-web
2019-05-22 11:18:42 -07:00
Nikolay Kim
12842871fe
Clear http requests pool on app service drop #860
2019-05-22 11:18:33 -07:00
Aliaksandr Rahalevich
fc85ae4014
small documentation fix ( #856 )
2019-05-21 10:43:18 -07:00
Harry Stern
5826f39dbe
Add set_json
method to TestRequest ( #851 )
...
- Takes a type which implements serde::Serialize, serializes it to JSON,
and sets it as the payload. The content-type is also set to JSON.
2019-05-18 19:36:28 -07:00
Herbert Jones
e857ab1f81
HttpServer::shutdown_timeout u16 to u64 ( #849 )
...
Increase maximum graceful shutdown time from 18 hours.
For issue #848 .
2019-05-18 10:50:35 -07:00
Miles Granger
4b215e0839
Support Query<T>::from_query() ( #846 )
2019-05-17 13:10:46 -07:00
Nikolay Kim
e1ff3bf8fa
fix resource match with params #841
2019-05-15 10:31:40 -07:00
Davide Di Carlo
bba90d7f22
Query config ( #839 )
...
* add QueryConfig
* expose QueryConfig in web module
* fmt
* use associated type for QueryConfig
* update CHANGES.md
2019-05-14 13:54:30 -07:00
Davide Di Carlo
6c3d8b8738
Make JsonConfig send ( #830 )
...
* replace Rc with Arc
* add Send trait requirement for Fn in JsonConfig error handler
* add Sync trait requirement for Fn in JsonConfig error handler
* use associated type inside JsonConfig
* fix lint: members in the impl has the same order in the trait
* Update CHANGES.md
2019-05-12 20:04:08 -07:00
Nikolay Kim
e9cbcbaf03
update dependencies
2019-05-12 10:18:02 -07:00
Nikolay Kim
45c05978b0
Allow to set/override app data on scope level
2019-05-12 09:42:05 -07:00
Nikolay Kim
df08baf67f
update actix-net dependencies
2019-05-12 08:34:51 -07:00
Nikolai Vazquez
a77b0b054a
Make App::configure
take an FnOnce
( #825 )
2019-05-10 14:44:49 -07:00
Nikolay Kim
fa78da8156
unify route and app data, it allows to provide global extractor config #775
2019-05-04 19:43:49 -07:00
James
7ef4f5ac0b
Make request headers optional in CORS preflight ( #816 )
2019-05-04 08:41:37 -07:00
Nikolay Kim
6b34909537
Fix NormalizePath middleware impl #806
2019-05-01 12:40:56 -07:00
Douman
87284f0951
Add doctest to verify NormalizePath middleware ( #809 )
2019-05-01 11:47:51 -07:00
Nikolay Kim
94a0d1a6bc
remove old api doc refs
2019-04-29 18:42:21 -07:00
Nikolay Kim
f4e1205cbb
fix reactor drop panic
2019-04-29 10:14:08 -07:00
Nikolay Kim
d2c1791067
add async handler test with blocking call
2019-04-29 09:45:37 -07:00
Nikolay Kim
f4b4875cb1
Add helper function for executing futures test::block_fn()
2019-04-29 09:34:14 -07:00
Nikolay Kim
29a841529f
Allow to construct Data instances to avoid double Arc for Send + Sync types.
2019-04-29 09:26:12 -07:00
Darin
b51b5b763c
added clarification to docs regarding middleware processing sequence, added delete method to TestRequest ( #799 )
...
* added clarification to docs regarding middleware processing sequnce
* added delete method to TestRequest, doc, and test
2019-04-29 09:14:36 -07:00
Nikolay Kim
70a4c36496
use Error explicitly
2019-04-25 11:14:32 -07:00
Nikolay Kim
cba78e06ae
update changes
2019-04-24 15:42:34 -07:00
Nikolay Kim
3b3dbb4f40
add raw services support
2019-04-24 15:29:15 -07:00