Commit Graph

139 Commits

Author SHA1 Message Date
Nikolay Kim df21892b5b added extractor configuration 2018-04-03 22:06:18 -07:00
Nikolay Kim 6c906b08e1 match resource path before executing middlewares 2018-04-02 10:27:37 -07:00
Nikolay Kim 17c27ef42d HttpRequest::resource() returns current matched resource 2018-04-01 17:37:22 -07:00
Nikolay Kim 3ee228005d rename Application 2018-03-31 00:16:55 -07:00
Nikolay Kim 44e3df82f6 simplify http response construction; deprecate httpcodes 2018-03-30 23:07:33 -07:00
Nikolay Kim 9e751de707 re-arrange modules and exports 2018-03-30 17:31:18 -07:00
Nikolay Kim f5636f321b drop deprecated code 2018-03-29 11:06:44 -07:00
Nikolay Kim 62fb75ff95 add Application::configure method, it simplifies configuration process 2018-03-27 11:16:02 -07:00
Nikolay Kim f55ef3a059 create default CpuPool 2018-03-07 14:56:53 -08:00
Nikolay Kim 206c4e581a rename httpcodes 2018-03-01 19:12:59 -08:00
Nikolay Kim 72aa2d9eae clippy warnings 2018-02-26 14:33:56 -08:00
Nikolay Kim aff43cc8b8 fix routes registration order 2018-02-22 05:48:18 -08:00
Nikolay Kim fd56e5dc82 do not use regset for route recognition 2018-02-21 14:31:22 -08:00
Nikolay Kim ddc82395e8 try to remove trailing slash for normalize path handler 2018-02-19 14:27:36 -08:00
Nikolay Kim edd114f6e4 allow to set default content encoding on application level 2018-02-18 22:23:17 -08:00
Alexander Andreev 58df8fa4b9 spelling check 2018-01-16 21:59:33 +03:00
Alexander Andreev e1d9c3803b spelling check 2018-01-16 00:47:25 +03:00
Nikolay Kim 927a92fcac impl HttpHandler for Box<HttpHandler> and add helper method Application::boxed() #49 2018-01-13 18:58:17 -08:00
Nikolay Kim 8a058efb4e move server protocol impl to submodule 2018-01-11 18:35:05 -08:00
Nikolay Kim e8412672a2 add resource level middlewares support 2018-01-09 20:00:18 -08:00
Nikolay Kim e439d0546b * fix force_close
* shutdown io before exit

* fix response creation with body from pool
2018-01-03 18:21:34 -08:00
Nikolay Kim 70ea43b3c0 fix drain support for actor; make pattern more reusable 2018-01-02 23:43:17 -08:00
Nikolay Kim f0fdcc9936 handle application prefix for handlers; use handler for StaticFiles 2018-01-02 15:23:31 -08:00
Nikolay Kim 9040f588af allow to handle entire sub path 2018-01-02 13:09:02 -08:00
Nikolay Kim cc38b30f7b refactor http actor usage 2017-12-31 17:26:32 -08:00
Nikolay Kim 6ea894547d better application handling, fix url_for method for routes with prefix 2017-12-29 14:04:13 -08:00
Nikolay Kim 3d3e4dae9a refactor IntoHttpHandler trait 2017-12-29 11:33:04 -08:00
Nikolay Kim d87fafb563 fix and refactor middleware runner 2017-12-29 01:01:31 -08:00
Nikolay Kim 29adc20581 rename module 2017-12-26 19:59:41 -08:00
Nikolay Kim 743235b8fd add unit test helper 2017-12-26 19:48:02 -08:00
Nikolay Kim cf8c2ca95e refactor Handler trait, use mut self 2017-12-26 09:00:45 -08:00
Nikolay Kim 2b0994e448 update tests 2017-12-14 20:29:49 -08:00
Nikolay Kim 55204c829c update tests 2017-12-13 08:00:25 -08:00
Nikolay Kim 55818028cb state does not need to be Send 2017-12-12 08:51:16 -08:00
Nikolay Kim e9aa67b75d http server accepts factory of HttpHandlers 2017-12-12 07:40:36 -08:00
Nikolay Kim 007b7ce62f unify route not found handling 2017-12-11 16:26:51 -08:00
Nikolay Kim 0f75d066f2 simplify Application creation; update url dispatch guide section 2017-12-11 14:16:29 -08:00
Nikolay Kim 0388a464ba tests for NormalizePath 2017-12-09 13:25:06 -08:00
Nikolay Kim b98ab2eebe use trait instead of pipeline 2017-12-09 04:33:40 -08:00
Nikolay Kim 774bfc0a86 use server settings for scheme and host values 2017-12-08 09:48:53 -08:00
Nikolay Kim 968f5d39d6 added external resources; refactor route recognizer 2017-12-07 16:22:26 -08:00
Nikolay Kim 2a0d5db41a more tests 2017-12-06 18:39:13 -08:00
Nikolay Kim 0dd27bd224 added HttpRequest::url_for 2017-12-06 16:26:27 -08:00
Nikolay Kim 8d52e2bbd9 tests for default resource 2017-12-06 13:02:53 -08:00
Nikolay Kim c63f058647 simplify application creation 2017-12-06 11:00:39 -08:00
Nikolay Kim 87c7441f7d remove Applicaiton::route, resource is enough 2017-12-06 08:03:08 -08:00
Nikolay Kim d8b880e167 work on resource_path api 2017-12-05 13:31:06 -08:00
Nikolay Kim a83d9b24ae extrat elements of path pattern 2017-12-05 11:31:35 -08:00
Nikolay Kim f4e9fc7b6a rename async to a 2017-12-04 16:09:22 -08:00
Nikolay Kim e332c1242f use Route for Applicaiton handlers 2017-12-04 14:53:40 -08:00
Nikolay Kim f5d6179a34 renamed Route::handler to Route::f, added Route::h to register Handler 2017-12-04 14:07:53 -08:00
Nikolay Kim 3bf3738e65 introduce route predicates 2017-12-04 13:32:05 -08:00
Nikolay Kim 61744b68a1 introduce custom FromRequest traint for conversion into Reply 2017-12-02 16:37:21 -08:00
Nikolay Kim 29a26b3236 code cleanup 2017-12-02 12:14:16 -08:00
Nikolay Kim c3a0a4457a add appl builder async method; add async handler section 2017-12-01 21:58:19 -08:00
Nikolay Kim 07cc017320 make Task private 2017-11-30 15:13:56 -08:00
Nikolay Kim d2eae3d5b3 simplify Handler trait 2017-11-29 15:10:45 -08:00
Nikolay Kim acc2fff655 export and simplify HttpHandler trait 2017-11-29 13:53:52 -08:00
Nikolay Kim 16ceb741b8 refactor RouteHandler trait 2017-11-29 13:26:55 -08:00
Nikolay Kim 6f833798c7 refactor http actor handling 2017-11-29 10:31:24 -08:00
Nikolay Kim 6177d86d97 refactor handler rtype handling 2017-11-29 09:17:00 -08:00
Nikolay Kim afeecea05f refactor reply handling 2017-11-28 19:49:17 -08:00
Nikolay Kim b55d69b4c2 better handler result handling 2017-11-28 12:42:53 -08:00
Nikolay Kim 5a3b6638a7 move state to request object 2017-11-26 21:18:38 -08:00
Nikolay Kim 8e0a7f44d4 pass request by value 2017-11-26 20:34:20 -08:00
Nikolay Kim eb7f48a1c6 include payload into request 2017-11-26 19:00:57 -08:00
Nikolay Kim 32483735ba cookie session implementation 2017-11-26 17:34:11 -08:00
Nikolay Kim 940bc08aba remove unused imports 2017-11-24 22:19:06 -08:00
Nikolay Kim 7569036dd4 refactor request pipeline 2017-11-24 22:15:52 -08:00
Nikolay Kim 40c1d3b711 refactor middlewares 2017-11-09 22:08:54 -08:00
Nikolay Kim d7d3d663e9 refactor server impl and add support for alpn http2 negotiation 2017-11-04 12:33:14 -07:00
Nikolay Kim 4e216701c0 better handler function ergonimics 2017-10-29 21:39:59 -07:00
Nikolay Kim af1e0bac08 add HttpContext::drain() 2017-10-29 06:05:31 -07:00
Nikolay Kim 26989f5591 server tests 2017-10-22 12:48:43 -07:00
Nikolay Kim f85925a652 refactor error handling 2017-10-22 09:13:29 -07:00
Nikolay Kim d555fcabfc update tests 2017-10-22 08:14:23 -07:00
Nikolay Kim afe9459ce1 pass request by ref; added middleware support 2017-10-21 22:59:59 -07:00
Nikolay Kim 7364e088be basic example 2017-10-21 19:35:50 -07:00
Nikolay Kim 6a33b65f02 refactor server router 2017-10-21 18:54:24 -07:00
Nikolay Kim f59f68eded new router recognizer 2017-10-16 19:21:24 -07:00
Nikolay Kim 95fa70d19e rename params to match_info 2017-10-16 10:20:16 -07:00
Nikolay Kim 94c8aa6a54 do not use actix prelude 2017-10-15 15:10:35 -07:00
Nikolay Kim 5901f0f9f5 Application, router, resource builders 2017-10-15 14:17:41 -07:00
Nikolay Kim 41f1e6cdc9 split http request; add HttpRequest::range() 2017-10-14 22:52:38 -07:00
Nikolay Kim 676347d7f6 drop hyper 2017-10-09 23:07:32 -07:00
Nikolay Kim e2dc775e21 refactor payload 2017-10-08 20:16:48 -07:00
Nikolay Kim 63b78b6461 better naming 2017-10-08 14:56:51 -07:00
Nikolay Kim a505be9321 docs 2017-10-06 23:14:13 -07:00
Nikolay Kim 0b5f0c4f22 initial implementation 2017-10-06 21:51:27 -07:00