Rob Ede
2d4a174420
fmt
2021-01-04 01:01:35 +00:00
Rob Ede
21f6c9d7a5
improve code readability
2021-01-04 00:49:02 +00:00
fakeshadow
e1683313ec
optimize ServiceRequest methods ( #1870 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-04 00:32:41 +00:00
fakeshadow
32de9f8840
Tokio 1.0 ( #1813 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-03 23:47:04 +00:00
fakeshadow
ad608aa64e
optimize Resource and Scope service call ( #1867 )
2021-01-02 19:40:31 +00:00
fakeshadow
3beb4cf2da
replace tinyvec with smallvec ( #1866 )
2021-01-01 23:18:25 +00:00
Ibraheem Ahmed
20b46cdaf9
format factory_tuple macro invocations ( #1859 )
2020-12-28 21:04:02 +00:00
Rob Ede
2a2a20c3e7
bump msrv to 1.46 ( #1858 )
2020-12-28 00:44:15 +00:00
Rob Ede
8c9ea43e23
address clippy warnings
2020-12-27 20:54:04 +00:00
Ibraheem Ahmed
cbda928a33
Rename factory to handler ( #1852 )
2020-12-26 21:46:19 +00:00
fakeshadow
87655b3028
reduce one clone on Arc. ( #1850 )
2020-12-23 23:58:25 +00:00
fakeshadow
3a192400a6
Simplify handler ( #1843 )
2020-12-23 15:47:07 +00:00
Rob Ede
05f104c240
improve NormalizePath docs ( #1839 )
2020-12-23 00:19:20 +00:00
fakeshadow
6cbf27508a
simplify ExtractService's return type ( #1842 )
2020-12-20 02:20:29 +00:00
fakeshadow
79de04d862
optimise Extract service ( #1841 )
2020-12-19 16:33:34 +00:00
fakeshadow
a4dbaa8ed1
remove boxed future in DefaultHeaders middleware ( #1838 )
2020-12-18 23:08:59 +00:00
fakeshadow
2a5215c1d6
Remove boxed future from HttpMessage ( #1834 )
2020-12-17 11:40:49 +00:00
fakeshadow
97f615c245
remove boxed futures on Json extract type ( #1832 )
2020-12-16 23:34:33 +00:00
Rob Ede
1a361273e7
optimize bytes and string payload extractors ( #1831 )
2020-12-16 22:40:26 +00:00
fakeshadow
d7ce648445
remove boxed future for Option<T> and Result<T, E> extract type ( #1829 )
...
* remove boxed future for Option<T> and Result<T, E> extract type
* use ready macro
* fix fmt
2020-12-16 18:34:10 +00:00
Aravinth Manivannan
fabc68659b
Intradoc links conversion ( #1827 )
...
* switching to nightly for intra-doc links
* actix-files intra-doc conversion
* more specific Result
* intradoc conversion complete
* rm blank comments and readme doc link fixes
* macros and broken links
2020-12-13 13:28:39 +00:00
Rob Ede
ae63eb8bb2
fix clippy warnings ( #1806 )
...
* fix clippy warnings
* prevent CI fail status caused by codecov
2020-12-09 11:22:19 +00:00
fakeshadow
7a3776b770
remove two unused generics on BoxedRouteFuture types. ( #1820 )
2020-12-09 10:47:59 +00:00
fakeshadow
ff79c33fd4
remove a box ( #1814 )
2020-12-06 11:42:15 +00:00
Petar Dambovaliev
b75a9b7a20
add error to message in test helper func ( #1812 )
2020-12-05 04:57:56 +09:00
Joshua Parkin
1f70ef155d
Fix match_pattern() returning None for scope with resource of empty path ( #1798 )
...
* fix match_pattern function not returning pattern where scope has resource of path ""
* remove print in test
* make comparison on existing else if block
* add fix to changelog
2020-12-01 13:39:41 +00:00
Maciej Hirsz
7981e0068a
Remove a panic in normalize middleware ( #1762 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-12-01 10:22:15 +09:00
Rob Ede
0b5b463cfa
prepare web and awc releases
...
closes #1799
2020-11-29 16:33:45 +00:00
Rob Ede
4100c50c70
add either extractor ( #1788 )
2020-11-20 18:02:41 +00:00
Pouya Mobasher Behrouz
9b42333fac
Fix typo in Query extractor docs ( #1777 )
2020-11-06 13:34:42 +00:00
Jonas Platte
e5b86d189c
Fix typo in request_data.rs ( #1774 )
2020-11-05 17:46:17 +00:00
Rob Ede
9963a5ef54
expose on_connect v2 ( #1754 )
...
Co-authored-by: Mikail Bagishov <bagishov.mikail@yandex.ru>
2020-10-30 02:03:26 +00:00
Joshua Parkin
4519db36b2
register fns for custom request-derived logging units ( #1749 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-29 18:38:49 +00:00
Augusto César Dias
7030bf5fe8
Adding app_data to ServiceConfig ( #1758 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Augusto <augusto@flowciety.de>
2020-10-26 17:02:45 +00:00
Daniel Egger
41e7cec72f
Re-export bytes::Buf and bytes::BufMut as well ( #1750 )
...
Co-authored-by: Daniel Egger <daniel.egger@axiros.com>
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-24 20:31:23 +01:00
Rob Ede
d45a1aa6b6
Add web::ReqData<T>
extractor ( #1748 )
...
Co-authored-by: Jonas Platte <jonas@lumeo.com>
2020-10-24 18:49:50 +01:00
cquintana-verbio
98243db9f1
Print unconfigured Data<T>
type when attempting extraction ( #1743 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-20 17:35:34 +01:00
Matt Gathu
cfd5b381f1
Implement Logger middleware regex exclude pattern ( #1723 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-10-19 07:18:16 +01:00
Jonas Platte
d765e9099d
Fix clippy::rc_buffer ( #1728 )
2020-10-10 09:26:05 +09:00
Yuki Okushi
c2c71cc626
Fix/suppress clippy warnings ( #1720 )
2020-10-01 18:19:09 +09:00
PeterUlb
b5812b15f0
Remove Sized Bound for web::Data ( #1712 )
2020-09-29 22:44:12 +01:00
Matt Gathu
b4e02fe29a
Fix cyclic references in ResourceMap ( #1708 )
2020-09-25 17:42:49 +01:00
LIU An (劉安)
60e7e52276
Add TrailingSlash::MergeOnly behavior ( #1695 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-09-25 12:50:59 +01:00
Rob Ede
7f8073233a
fix trimming to inaccessible root path ( #1678 )
2020-09-15 11:32:31 +01:00
Rob Ede
f861508789
prepare web release 3.0.1 ( #1676 )
2020-09-13 03:24:44 +01:00
Damian Lesiuk
a4546f02d2
make TrailingSlash enum accessible ( #1673 )
...
Co-authored-by: Damian Lesiuk <lesiuk@sabre.com>
2020-09-13 00:55:39 +01:00
Rob Ede
bf53fe5a22
bump actix dependency to v0.10 ( #1666 )
2020-09-11 12:09:52 +01:00
Rob Ede
cf5138e740
fix clippy async_yields_async lints ( #1667 )
2020-09-11 11:29:17 +01:00
Igor Aleksanov
121075c1ef
awc: Rename Client::build to Client::builder ( #1665 )
2020-09-11 09:24:39 +01:00
Robert Gabriel Jakabosky
22089aff87
Improve json, form and query extractor config docs ( #1661 )
2020-09-10 15:40:20 +01:00
Rob Ede
7787638f26
fix CI clippy warnings ( #1664 )
2020-09-10 14:46:35 +01:00
Rob Ede
9d0534999d
bump connect and tls versions ( #1655 )
2020-09-09 09:20:54 +01:00
Rob Ede
4e321595bc
extract more config types from Data<T> as well ( #1641 )
2020-09-02 22:12:07 +01:00
Matt Kantor
01cbef700f
Fix a small typo in a doc comment. ( #1649 )
2020-08-28 22:16:41 +01:00
LJ
75d86a6beb
Configurable trailing slash behaviour for NormalizePath ( #1639 )
...
Co-authored-by: ljoonal <ljoona@ljoonal.xyz>
2020-08-19 12:21:52 +01:00
William Myers
5aad8e24c7
Re-export all error types from awc ( #1621 )
2020-08-14 01:24:35 +01:00
Rob Ede
187646b2f9
match HttpRequest app_data behavior in ServiceRequest ( #1618 )
2020-08-09 15:51:38 +01:00
Yuki Okushi
92b5bcd13f
Check format and tweak CI config ( #1619 )
2020-07-22 00:28:33 +01:00
Rob Ede
0ec335a39c
bump MSRV to 1.42 ( #1616 )
2020-07-21 16:40:30 +09:00
Jonas Platte
f8d5ad6b53
Make web::Path a tuple struct with a public inner value ( #1594 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-07-21 00:54:26 +01:00
Rob Ede
43c362779d
also try extracting payload config as Data<T> ( #1610 )
2020-07-20 17:40:58 +01:00
Rob Ede
971ba3eee1
fix continous growth of app data in pooled requests ( #1609 )
...
fixes #1606
fixes #1607
2020-07-18 16:17:00 +01:00
Rob Ede
056803d534
revamp readme and root doc page ( #1590 )
2020-07-05 01:16:53 +01:00
Takashi Idobe
23c8191cca
add method to extract matched resource name ( #1577 )
...
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-06-27 16:22:16 +01:00
Rob Ede
fa28175a74
add method to extract matched resource pattern ( #1566 )
2020-06-23 00:58:20 +01:00
Rob Ede
a70e599ff5
re-export rt in web and add main macro ( #1575 )
2020-06-22 20:09:48 +01:00
Rob Ede
dc74db1f2f
re-export actix_rt::main macro ( #1559 )
2020-06-18 15:45:30 +01:00
Fabianstelmach
9af07d66ae
Fix NormalizePath trailing slash behavior ( #1548 )
2020-06-17 10:54:20 +01:00
Taiki Endo
6c5c4ea230
Remove uses of pin_project::project attribute
...
pin-project will deprecate the project attribute due to some unfixable
limitations.
Refs: https://github.com/taiki-e/pin-project/issues/225
2020-06-06 06:44:14 +09:00
Yuki Okushi
6dd78d9355
Run rustfmt
2020-05-21 17:56:53 +09:00
Yuki Okushi
9a7f93610a
web: Replace net2
crate with socket2
2020-05-19 09:34:37 +09:00
Yuki Okushi
a98e53ecb8
web: Minimize futures
dependencies
2020-05-19 08:29:12 +09:00
Rob Ede
f3b0233477
use mem::take where possible ( #1507 )
2020-05-17 10:54:42 +09:00
Sven Allers
201090d7a2
Provide impl<T> From<Arc<T>> for Data<T> ( #1509 )
2020-05-16 00:27:03 +01:00
pando85
4fc99d4a6f
Fix audit issue logging by default peer address ( #1485 )
...
* Fix audit issue logging by default peer address
By default log format include remote address that is taken from headers.
This is very easy to replace making log untrusted.
Changing default log format value `%a` to peer address we are getting
this trusted data always. Also, remote address option is maintianed and
relegated to `%{r}a` value.
Related kanidm/kanidm#191 .
* Rename peer/remote to remote_addr/realip_remote_addr
Change names to avoid naming confusions. I choose this accord to Nginx
variables and
[ngx_http_realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html ).
Add more specific documentation about security concerns of using Real IP
in logger.
* Rename security advertise header in doc
* Add fix audit issue logging by default peer adress to changelog
Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-05-15 09:07:27 +09:00
Rob Ede
996f1d7eae
bump msrv in ci and readme
2020-05-13 01:57:37 +01:00
Rob Ede
879cad9422
allow parent data containers to be accessed from child scopes
2020-05-09 00:31:26 +01:00
Rob Ede
b521e9b221
conditional test compilation [range, charset] ( #1483 )
...
* conditionally compile range and charset tests
* remove deprecated try macros
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-05-03 22:33:29 +09:00
Mikail Bagishov
d5ceae2074
Replace deprecated now with now_utc ( #1481 )
...
* Replace deprecated now with now_utc
* Update doctest
2020-05-02 10:14:50 +01:00
Rob Ede
c27d3fad8e
clarify resource/scope app data overriding ( #1476 )
...
* relocate FnDataFactory
* clarify app data overriding in Scope and Resource
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-04-30 02:20:47 +09:00
Rob Ede
bb17280f51
simplify data factory future polling ( #1473 )
...
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-04-29 15:38:53 +09:00
Rob Ede
5b0f7fff69
fix spelling errors in doc comments
2020-04-21 04:09:35 +01:00
Rob Ede
45e2e40140
set data container on default service calls
...
closes #1450
2020-04-14 02:33:19 +01:00
Tore Pettersen
0ad02ee0e0
Add convenience functions for testing ( #1401 )
...
* Add convenience functions for testing
* Fix remarks from PR and add tests
* Add unpin to read_json_body
* Update changelog
2020-04-06 04:12:44 +09:00
Stephen Eckels
aaff68bf05
Change NormalizePath to append trailing slash ( #1433 )
...
* Change NormalizePath to append trailing slash
* add tests
* Update CHANGES.md
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-04-05 03:26:40 +09:00
Otavio Salvador
146ae4da18
Implement std::error::Error
for our custom errors
...
For allowing a more ergonomic use and better integration on the
ecosystem, this adds the `std::error::Error` `impl` for our custom
errors.
We intent to drop this hand made code once `derive_more` finishes the
addition of the Error derive support[1]. Until that is available, we
need to live with that.
1. https://github.com/JelteF/derive_more/issues/92
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-03-18 00:22:18 -03:00
Stig Johan Berggren
0d958fabd7
📝 Improve the code example for JsonConfig ( #1418 )
...
* 📝 Improve the code example for JsonConfig
* Remove a redundant comment
2020-03-17 08:23:54 +09:00
Yuki Okushi
d602a7e386
Fix read_body
doc
2020-03-13 05:52:58 +09:00
Otavio Salvador
7e0d898d5a
Fix clippy warnings
...
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-03-12 00:52:21 -03:00
Yuki Okushi
b4d63667df
Demote lint level to warn
2020-02-27 22:39:11 +09:00
Maksym Vorobiov
77058ef779
adopt MessageBody Pin changes to actix-web root
2020-02-27 09:42:32 +09:00
Maksym Vorobiov
835a00599c
rollback missed dependencies and CHANGES in crates except actix-http
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
09a391a3ca
rollback changes to actix-web, awc and test-server for now
2020-02-27 09:37:05 +09:00
Maksym Vorobiov
9d04b250f9
This is a squashed commit:
...
- Convert MessageBody to accept Pin in poll_next
- add CHANGES and increase versions aligned to semver
- update crates to accomodate MessageBody Pin change
- fix tests and dependencies
2020-02-27 09:37:05 +09:00
Matt Gathu
8ec8ccf4fb
Create helper function for HTTP Trace Method
...
Create *route* with `TRACE` method guard.
2020-02-23 09:25:55 +01:00
Elliot Jackson
809930d36e
Add dependencies to docs example ( #1343 )
...
* Add dependencies to docs example
* Change codeblock type to toml
* Clarify the need for actix-rt
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-02-20 05:13:10 +09:00
Masayuki Nagamachi
6ab7cfa2be
Remove descriptions about undefined uds
feature from docs ( #1356 )
2020-02-16 04:18:31 +09:00
Levi Notik
3851a377df
Fix minor grammatical errors ( #1341 )
2020-02-07 03:00:22 +09:00
kevinpoitra
e634e64847
Upgrade time
to 0.2.5 ( #1254 )
...
* Use `OffsetDateTime` instead of `PrimitiveDateTime`
* Parse time strings with `PrimitiveDateTime::parse` instead of `OffsetDateTime::parse`
* Remove unused `time` dependency from actix-multipart
* Fix a few errors with time related tests from the `time` upgrade
* Implement logic to convert a RFC 850 two-digit year into a full length year, and organize time parsing related functions
* Upgrade `time` to 0.2.2
* Correctly parse C's asctime time format using time 0.2's new format patterns
* Update CHANGES.md
* Use `time` without any of its deprecated functions
* Enforce a UTC time offset when converting an `OffsetDateTime` into a Header value
* Use the more readable version of `Duration::seconds(0)`, `Duration::zero()`
* Remove unneeded conversion of time::Duration to std::time::Duration
* Use `OffsetDateTime::as_seconds_f64` instead of manually calculating the amount of seconds from nanoseconds
* Replace a few additional instances of `Duration::seconds(0)` with `Duration::zero()`
* Truncate any nanoseconds from a supplied `Duration` within `Cookie::set_max_age` to ensure two Cookies with the same amount whole seconds equate to one another
* Fix the actix-http:🍪 :do_not_panic_on_large_max_ages test
* Convert `Cookie::max_age` and `Cookie::expires` examples to `time` 0.2
Mainly minor changes. Type inference can be used alongside the new
`time::parse` method, such that the type doesn't need to be specified.
This will be useful if a refactoring takes place that changes the type.
There are also new macros, which are used where possible.
One change that is not immediately obvious, in `HttpDate`, there was an
unnecessary conditional. As the time crate allows for negative durations
(and can perform arithmetic with such), the if/else can be removed
entirely.
Time v0.2.3 also has some bug fixes, which is why I am not using a more
general v0.2 in Cargo.toml.
v0.2.3 has been yanked, as it was backwards imcompatible. This version
reverts the breaking change, while still supporting rustc back to
1.34.0.
* Add missing `time::offset` macro import
* Fix type confusion when using `time::parse` followed by `using_offset`
* Update `time` to 0.2.5
* Update CHANGES.md
Co-authored-by: Jacob Pratt <the.z.cuber@gmail.com>
2020-01-28 20:44:22 +09:00
Aaron Hill
d137a8635b
Replace Pin::new_unchecked
with #[pin_project] in tuple_from_req!
( #1293 )
...
Using some module trickery, we can generate a tuple struct for each
invocation of the macro. This allows us to use `pin_project` to project
through to the tuple fields, removing the need to use
`Pin::new_unchecked`
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-28 10:45:25 +09:00
Yuki Okushi
a2d4ff157e
Update call_service
documentation ( #1302 )
...
Co-authored-by: Christian Battaglia <christian.d.battaglia@gmail.com>
2020-01-28 08:09:46 +09:00
Jacob Brown
7c974ee668
Update doc comment for HttpRequest::app_data
( #1265 )
...
* update doc comment for `HttpRequest::app_data`
* add `no_run` to doc comment
* add `ignore` to doc comment
* Update src/request.rs
Co-Authored-By: Yuki Okushi <huyuumi.dev@gmail.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2020-01-11 03:55:20 +09:00
Jeremy Wright
2803fcbe22
Small grammaritical update to lib.rs ( #1248 )
2020-01-03 08:45:17 +06:00
Nikolay Kim
a4ad5e6b69
update timeouts for test server
2019-12-25 20:52:20 +04:00
Nikolay Kim
7b3c99b933
prep actix-framed release
2019-12-25 20:17:22 +04:00
Nikolay Kim
f86ce0390e
allow to specify multi pattern for resources
2019-12-25 20:14:44 +04:00
Nikolay Kim
7882f545e5
Allow to gracefully stop test server via TestServer::stop()
2019-12-25 12:10:48 +04:00
Nikolay Kim
6a0cd2dced
Rename HttpServer::start() to HttpServer::run()
2019-12-22 17:12:22 +04:00
Nikolay Kim
c7f3915779
update actix-service dep
2019-12-22 16:39:25 +04:00
Yuki Okushi
f45db1f909
Enable GitHub Actions and fix file URL behavior ( #1232 )
...
* Use GitHub Actions
* Fix unused imports on Windows
* Fix test for Windows
* Stop to run CI for i686-pc-windows-msvc for now
* Use `/` instead of `\` on Windows
* Add entry to changelog
* Prepare actix-files release
2019-12-22 16:43:41 +09:00
Darin
3751a4018e
fixed test::init_service api docs (missing await) ( #1230 )
2019-12-21 08:47:18 +06:00
Nikolay Kim
0cb1b0642f
add test server data test
2019-12-20 23:18:59 +06:00
Nikolay Kim
2b4256baab
add links to configs
2019-12-20 17:49:05 +06:00
Nikolay Kim
e5a50f423d
Make web::Data deref to Arc<T> #1214
2019-12-20 17:45:35 +06:00
Nikolay Kim
8b8a9a995d
bump ver
2019-12-20 17:36:48 +06:00
Nikolay Kim
c877840c07
rename App::register_data to App::app_data and HttpRequest::app_data returns Option<&T> instead of Option<&Data<T>>
2019-12-20 17:13:09 +06:00
Nikolay Kim
20248daeda
Allow to set peer_addr for TestRequest #1074
2019-12-20 16:11:51 +06:00
Nikolay Kim
a08d8dab70
AppConfig::secure() is always false. #1202
2019-12-20 16:04:51 +06:00
Nikolay Kim
1732ae8c79
fix Bodyencoding trait usage
2019-12-18 09:30:14 +06:00
Nikolay Kim
01613f334b
Move BodyEncoding to dev module #1220
2019-12-16 17:22:26 +06:00
Nikolay Kim
a153374b61
migrate actix-web-actors
2019-12-15 22:45:38 +06:00
Nikolay Kim
cb705317b8
compile with default-features off
2019-12-15 13:28:54 +06:00
Nikolay Kim
db1d6b7963
refactor test server impl
2019-12-12 22:28:47 +06:00
Nikolay Kim
fa07415721
Replace flate2-xxx features with compress
2019-12-12 15:08:08 +06:00
Nikolay Kim
131c897099
upgrade to actix-net release
2019-12-11 19:20:20 +06:00
Nikolay Kim
ef3a33b9d6
use std mutext instead of parking_lot
2019-12-10 09:00:51 +06:00
Sameer Dhar
e4382e4fc1
Fix broken docs ( #1204 )
...
Fixed un escaped brackets in lib.rs, and reflowed links to ConnectionInfo in app, config, and server.rs
2019-12-09 10:02:43 +06:00
Nikolay Kim
1f3ffe38e8
update actix-service dep
2019-12-08 19:25:24 +06:00
Nikolay Kim
4a8a9ef405
update tests and clippy warnings
2019-12-08 12:31:16 +06:00
Nikolay Kim
6c9f9fff73
clippy warnings
2019-12-08 00:46:51 +06:00
Nikolay Kim
8df33f7a81
remove HttpServer::run() as it is not useful with async/await
2019-12-08 00:06:04 +06:00
daxpedda
e5f3d88a4e
Switch brotli compressor to rust. ( #1197 )
...
* Switch to a rustified version of brotli.
* Some memory optimizations.
* Make brotli not optional anymore.
2019-12-07 21:55:41 +06:00
Nikolay Kim
ed2f3fe80d
use actix-net alpha.3 release
2019-12-07 12:28:26 +06:00
Nikolay Kim
205a964d8f
upgrade to tokio 0.2
2019-12-05 23:35:43 +06:00
Nikolay Kim
b45c6cd66b
replace hashbrown with std hashmap
2019-12-04 18:33:43 +06:00
Nikolay Kim
14075ebf7f
use released versions of actix-net
2019-12-02 23:33:39 +06:00
Nikolay Kim
068f047dd5
update service factory config
2019-12-02 21:37:13 +06:00
Nikolay Kim
f4c01384ec
update to latest actix-net
2019-12-02 17:33:11 +06:00
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
Darin
7300002226
grammar fixes ( #796 )
2019-04-24 13:21:42 -07:00
Maciej Piechotka
60fa0d5427
Store visit and login timestamp in the identity cookie ( #502 )
...
This allows to verify time of login or last visit and therfore limiting
the danger of leaked cookies.
2019-04-24 12:49:56 -07:00
Nikolay Kim
679d1cd513
allow to override responder's status code and headers
2019-04-24 10:25:46 -07:00
Nikolay Kim
898ef57080
Fix async web::Data factory handling
2019-04-23 21:21:49 -07:00
Nikolay Kim
48bee55087
.to_async() handler can return Responder type #792
2019-04-22 14:22:08 -07:00
Nikolay Kim
891f857547
update changes
2019-04-20 11:18:04 -07:00
Nikolay Kim
7292d0b696
drop chrono and use i64 for max age
2019-04-19 17:23:17 -07:00
Kilerd Chan
791f22bbc8
replate time::Duration
with chrono::Duration
and add max_age_time
method ( #789 )
...
* feat: replate time::Duration with chrono::Duration
* feat: rename max_age method which accepts `Duration` to max_age_time and add new max_age method accepting isize of seconds
* feat: replace `time:Duration` with `chrono:Duration` in repo `actix-http`
2019-04-19 13:54:44 -07:00
Douman
1e7f97a111
Add Normalization middleware for in place ( #783 )
2019-04-19 13:53:49 -07:00
Darin
ed94df189f
Merge branch 'master' into master
2019-04-18 19:03:48 -04:00
Nikolay Kim
aa255298ef
make ServiceRequest::from_parts private, as it is not safe to create from parts
2019-04-18 16:03:13 -07:00
dowwie
da86b6e062
added put and patch to TestRequest, docs, and test
2019-04-18 18:06:32 -04:00