Commit Graph

1995 Commits

Author SHA1 Message Date
fakeshadow 351286486c
fix clippy warning on nightly (#2088)
* fix clippy warning on nightly
2021-03-19 19:25:35 +08:00
Ibraheem Ahmed 78fcd0237a
Format extract macro (#2087) 2021-03-19 04:08:23 +00:00
obayemi abcb444dd9
fix routes in Path documentation (#2084) 2021-03-18 13:21:44 +00:00
fakeshadow 69dd1a9bd6
Remove ConnectionLifetime trait. Simplify Acquired handling (#2072) 2021-03-16 02:56:23 +00:00
fakeshadow 515d0e3fb4
change behavior of default upgrade handler (#2071) 2021-03-13 22:20:18 +00:00
Ilya Averyanov 22dcc31193
Fix logger middleware properly escape %% (#2067) 2021-03-11 14:12:42 +00:00
Rob Ede 95130fcfd0
address clippy warnings 2021-03-08 20:32:19 +00:00
Rob Ede 2d3a0d6038
json method receives plain serialize (#2052) 2021-03-07 22:11:39 +00:00
fakeshadow c836de44af
add client middleware (#2013) 2021-02-28 18:17:08 +00:00
fakeshadow ebda60fd6b
refactor boxed route (#2033) 2021-02-27 21:00:36 +00:00
Adam Chalmers 2dbdf61c37
Inner field of web::Query is public again (#2016) (#2017)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-02-20 17:59:09 +00:00
Richard Janis Goldschmidt 3b93c62e23
Fix Json extractor to be 32kB by default (#2010) 2021-02-18 15:20:20 +00:00
fakeshadow 946cccaa1a
refactor awc::ClientBuilder (#2008) 2021-02-18 12:30:09 +00:00
Rob Ede 7fa6333a0c
use rcgen for tls key generation (#1989) 2021-02-13 17:16:36 +00:00
Rob Ede 3279070f9f
optional cookies features (#1981) 2021-02-13 15:08:43 +00:00
Rob Ede 4fc7d76759
s/websocket/WebSocket in docs 2021-02-12 00:27:20 +00:00
Rob Ede 31d9ed81c5
change rustfmt line width to 96 2021-02-11 23:03:17 +00:00
Rob Ede 77efc09362
hide httpmessage mod 2021-02-11 22:58:40 +00:00
Rob Ede 871ca5e4ae
stop claiming actor support 2021-02-11 22:58:40 +00:00
Rob Ede 991363a104
consistent case s/web/Web 2021-02-10 12:12:03 +00:00
Rob Ede a290e58982
prepare beta 2 release set (#1975) 2021-02-10 12:10:03 +00:00
Rob Ede 949d14ae2b
clean up header map (#1964) 2021-02-09 22:59:17 +00:00
fakeshadow 519d7f2b8a
add trust-dns optional feature for actix-http and awc (#1969) 2021-02-09 10:41:20 +00:00
fakeshadow dddb623a11
add services register for tuple and vec of services (#1933) 2021-02-07 23:47:51 +00:00
Rob Ede 9604e249c9
use stable clippy (#1963) 2021-02-07 20:33:53 +00:00
Rob Ede 9eaea6a2fd
tweak feature flags 2021-02-07 03:54:58 +00:00
fakeshadow 41bc04b1c4
Use immutable reference of service state. Update awc dns resolver. (#1905) 2021-02-07 01:00:40 +00:00
fakeshadow 20cf0094e5
fix master branch build. change web::block output type. (#1957) 2021-02-06 16:23:59 +00:00
fakeshadow 51e54dac8b
fix limit not working on HttpMessageBody::limit (#1938) 2021-01-27 10:49:57 +00:00
Jonas Platte c201c15f8c
Improve documentation for PayloadConfig (#1923) 2021-01-24 00:32:10 +00:00
Logan Magee 0c8196f8b0
Remove HttpResponseBuilder::json2() (#1903)
It's not necessary to keep both json() and json2() around since the
former reduces the ownership of its parameter to a borrow only to pass
the reference to the latter. Users can instead borrow themselves when
passing an owned value: there doesn't need to be two separate functions.

This change also makes HttpResponseBuilder::json() take T: Deref so it
can accept both references and web extractors like web::Json.
2021-01-18 12:14:29 +00:00
Rob Ede ee10148444
revive commented out tests (#1912) 2021-01-17 05:19:32 +00:00
Rob Ede da69bb4d12
implement `App::data` as `App::app_data(Data::new(T)))` (#1906) 2021-01-15 23:37:33 +00:00
Rob Ede 0a506bf2e9
cleanup top level doc comments 2021-01-15 05:38:50 +00:00
Rob Ede b1dd8d28bc
response header rework (#1869) 2021-01-15 02:11:10 +00:00
fakeshadow 4edeb5ce47
optimize ErrorHandler middleware (#1902) 2021-01-14 01:43:44 +00:00
fakeshadow 57398c6df1
Refactor/service request (#1893) 2021-01-11 01:29:16 +00:00
fakeshadow 46b2f7eaaf
use a non leak pool for HttpRequestInner (#1889)
Co-authored-by: Rob Ede <robjtede@icloud.com>
2021-01-10 22:59:44 +00:00
fakeshadow 9e401b6ef7
refactor Scope (#1895) 2021-01-09 18:06:49 +00:00
fakeshadow fe392abeb4
remove actix-threadpool.use actix_rt::task::spawn_blocking (#1878) 2021-01-09 16:04:19 +00:00
Rob Ede 6575ee93f2
big clean up and docs improvmenet of types mod (#1894) 2021-01-09 13:17:19 +00:00
fakeshadow 530d03791d
refactor Resource (#1883) 2021-01-09 03:36:58 +00:00
fakeshadow d40ae8c8ca
use sync method on Responder trait (#1891) 2021-01-08 22:17:19 +00:00
Rob Ede d3c476b8c2
use env_logger builders in examples 2021-01-07 02:41:05 +00:00
Rob Ede dc23559f23
address clippy lints 2021-01-07 02:04:26 +00:00
fakeshadow 57a3722146
More refactor of app_service (#1879) 2021-01-06 18:11:20 +00:00
fakeshadow 57da1d3c0f
refactor app_service (#1877) 2021-01-06 11:35:30 +00:00
Rob Ede 68117543ea
major cleanup of middleware module (#1875)
* major cleanup of middleware module

* update changelog
2021-01-05 09:51:58 +00:00
fakeshadow 4f5971d79e
add Compat middleware (#1865) 2021-01-05 00:22:57 +00:00
Rob Ede 36aee18c64
fmt 2021-01-04 04:33:15 +00:00
Rob Ede 007a145988
use ahash for internal hashmaps 2021-01-04 04:29:07 +00:00
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