Commit Graph

1874 Commits

Author SHA1 Message Date
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
Nikolay Kim e659e09e29 update tests 2019-04-18 11:01:04 -07:00
Nikolay Kim b64851c5ec enable runtime for test:: methods 2019-04-17 10:28:27 -07:00
Nikolay Kim 420d3064c5 Add .peer_addr() #744 2019-04-16 10:11:38 -07:00
Nikolay Kim 7a28b32f6d Rename test::call_success to test::call_service 2019-04-15 07:44:07 -07:00
Nikolay Kim 09cdf1e302 Rename RouterConfig to ServiceConfig 2019-04-15 07:32:49 -07:00
Nikolay Kim ab4fda6084 update tests 2019-04-14 20:20:33 -07:00
Nikolay Kim f9078d41cd add test::read_response; fix TestRequest::app_data() 2019-04-14 19:52:12 -07:00
Darin 4cc2b38059 added read_response_json for testing (#776)
* added read_response_json for testing

* cleaned up

* modied docs for read_response_json

* typo in doc

* test code in doc should compile now

* use type coercion in doc

* removed generic R, replaced with Request
2019-04-14 16:25:45 -07:00
Nikolay Kim 5bd5651faa Allow to use any service as default service 2019-04-13 22:25:00 -07:00
Nikolay Kim ee33f52736 make extractor config type explicit 2019-04-13 16:35:25 -07:00
Nikolay Kim 4f30fa9d46 Remove generic type for request payload, always use default 2019-04-13 14:50:54 -07:00
Nikolay Kim 1f2b15397d prepare alpha5 release 2019-04-12 14:00:45 -07:00
Nikolay Kim 5cfba5ff16 add FramedRequest builder for testing 2019-04-12 11:15:58 -07:00
Nikolay Kim 7801fcb993 update migration 2019-04-10 20:47:28 -07:00
Nikolay Kim 52aebb3bca fmt 2019-04-10 15:05:03 -07:00
Darin 6ab9838977 added some error logging for extractors: Data, Json, Query, and Path (#765)
* added some error logging for extractors

* changed log::error to log::debug and fixed position of log for path

* added request path to debug logs
2019-04-10 12:45:13 -07:00
Nikolay Kim 9d82d4dfb9 Fix body propagation in Response::from_error. #760 2019-04-10 12:43:31 -07:00
Nikolay Kim 9bb40c249f add h1::SendResponse future; renamed to MessageBody::size 2019-04-10 12:24:17 -07:00
Darin 9bcd5d6664 updated legacy code in call_success example (#762) 2019-04-08 11:20:46 -07:00
Nikolay Kim aa78565453 use objects pool for HttpRequest; optimize nested services call 2019-04-07 23:06:21 -07:00