Commit Graph

136 Commits

Author SHA1 Message Date
Nikolay Kim 068f047dd5 update service factory config 2019-12-02 21:37:13 +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 3127dd4db6 migrate actix-web to std::future 2019-11-21 16:02:17 +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
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 2a2d7f5768 nightly clippy warnings 2019-07-17 15:53:51 +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
Cameron Dershem c0c71f82c0 Fixes typo. (#940)
Small typo fix.
2019-06-25 23:23:36 +06:00
Nikolay Kim e1ff3bf8fa fix resource match with params #841 2019-05-15 10:31:40 -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
Nikolay Kim fa78da8156 unify route and app data, it allows to provide global extractor config #775 2019-05-04 19:43:49 -07:00
Nikolay Kim 48bee55087 .to_async() handler can return Responder type #792 2019-04-22 14:22:08 -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 5bd5651faa Allow to use any service as default service 2019-04-13 22:25:00 -07:00
Nikolay Kim 4f30fa9d46 Remove generic type for request payload, always use default 2019-04-13 14:50:54 -07:00
Nikolay Kim aa78565453 use objects pool for HttpRequest; optimize nested services call 2019-04-07 23:06:21 -07:00
Nikolay Kim ab45974e35 add default handler 2019-03-31 18:19:18 -07:00
Nikolay Kim 1904b01fc0 add content-encoding decompression 2019-03-26 15:14:32 -07:00
Nikolay Kim 8d1195d8ac add async handler tests 2019-03-25 14:33:34 -07:00
Nikolay Kim 86a21c956c rename .middleware to .wrap 2019-03-25 13:02:10 -07:00
Nikolay Kim 939d2e745c rename Resource::middleware to Resource::wrap and add wrap_fn for fn middlewares 2019-03-25 12:47:58 -07:00
Nikolay Kim ffb3324129 do not use default resource from app, return 405 if no matching route found 2019-03-24 16:15:34 -07:00
Nikolay Kim 4a4826b23a cleanup doc strings and clippy warnings 2019-03-16 21:35:02 -07:00
Nikolay Kim 4d96abb639 use actix_web::Error for middleware errors 2019-03-10 16:35:38 -07:00
Nikolay Kim 54678308d0 propogate app config with http request; add tests for url_for 2019-03-09 14:06:24 -08:00
Nikolay Kim fde55ffa14 revert generic request parameter for service; support ServerConfig as new factory config 2019-03-09 09:49:11 -08:00
Nikolay Kim aadcdaa3d6 add resource map, it allow to check if router has resource and it allows to generate urls for named resources 2019-03-09 07:39:34 -08:00
Nikolay Kim 0e57b4ad61 export extractor configs via web module 2019-03-07 14:01:52 -08:00
Nikolay Kim 60c048c8cd fix nested resources 2019-03-06 19:27:18 -08:00
Nikolay Kim 244fff9e0a added Logger middleware 2019-03-06 19:19:27 -08:00
Nikolay Kim fe22e83144 refactor service registration process; unify services and resources 2019-03-06 15:47:15 -08:00
Nikolay Kim 03248028a9 update actix-service 2019-03-05 10:08:08 -08:00
Nikolay Kim b6fe1dacf2 update middleware impl 2019-03-04 21:42:51 -08:00
Nikolay Kim 360082f99f update api docs 2019-03-03 14:45:56 -08:00
Nikolay Kim e50d4c5e0e rename extractor module to extract, re-enable doc tests 2019-03-03 13:53:31 -08:00
Nikolay Kim 237677be15 rename filter to guard 2019-03-03 12:09:38 -08:00
Nikolay Kim 6df85e32df added extractor configuration system 2019-03-03 00:57:48 -08:00
Nikolay Kim 8103d33270 use custom request for FromRequest trait 2019-03-02 19:19:56 -08:00
Nikolay Kim e6d04d24cc move fs to separate crate 2019-03-01 23:59:44 -08:00
Nikolay Kim 2d7293aaf8 copy actix-web2 2019-03-01 22:51:32 -08:00
Nikolay Kim eb1e9a785f allow to use fn with multiple arguments with .with()/.with_async() 2018-08-16 20:29:06 -07:00
Nikolay Kim da915972c0 refactor router 2018-07-15 16:25:56 +06:00