Commit Graph

2436 Commits

Author SHA1 Message Date
Sergio Benitez 8c0d11feab Completely new raw API.
Summary of changes:

  * Request no longer has a lifetime parameter.
  * Handler type now includes a `Data` parameter.
  * Response is now an enum that is either `Complete` or `Forward`.
  * Outcome enum is now one of: Success, Failure, Forward.
  * Outcome::Foward for Responses must include StatusCode.
  * Responders are now final: they cannot forward to requests. (!!)
  * Responsers may only forward to catchers. (!!)
  * Response no longer provides wrapping methods.
  * Route is now cloneable.

This change is fundamental to enabling streaming requests.
2016-10-07 23:20:49 -07:00
Sergio Benitez 59623d936f Add a default template for every known error code. 2016-10-07 21:31:52 -07:00
Sergio Benitez 37e6a367b8 Move the form module under request and outcome to top-level. 2016-10-07 19:27:50 -07:00
Sergio Benitez 916bf7310a Add details about Template usage in contrib. 2016-10-07 19:12:58 -07:00
Sergio Benitez be3530bb44 Make Outcome generic on its encapsulated type. 2016-10-07 19:09:05 -07:00
Sergio Benitez d321e1de8d Add query param to complete decorator test. 2016-10-07 18:45:55 -07:00
Sergio Benitez 6578de4615 Always inline appropriate Request methods. 2016-10-06 21:04:35 -07:00
Sergio Benitez 39f7f2d32b Remove unneeded lifetime in Request.
Previously, a Request's only lifetime parameter referred to itself. This
causes many issues and is simply wrong. Instead, use `transmute` to make
the lifetime `static`. As long the contents inside Request don't move or
change, the references are valid. We keep the lifetime as a phantom in
`Request` for future use.
2016-10-06 20:57:17 -07:00
Sergio Benitez bcb9bd860b Allow different lifetimes in handler Request reference and its contents. 2016-10-06 20:38:13 -07:00
Sergio Benitez 639a78a8d6 Add a bad_request response type. Use it when form's aren't utf8. 2016-10-06 00:16:15 -07:00
Sergio Benitez 650d079b58 Make the `uri` parameter in Request private. 2016-10-06 00:08:00 -07:00
Sergio Benitez f3b23b01d6 Clarify and fix a few typos in CHANGELOG. 2016-10-04 15:34:44 -07:00
Sergio Benitez ebca823b14 Qualify data module in CHANGELOG. 2016-10-04 15:32:10 -07:00
Sergio Benitez 2d7f6ca686 Add a CHANGELOG.
resolves #4
2016-10-04 15:27:58 -07:00
Sergio Benitez f9e17ce7df Update docs for latest changes. 2016-10-04 15:05:25 -07:00
Sergio Benitez d4f9525b22 Allow error handlers to take 0, 1, or 2 parameters.
fixes #13
2016-10-04 15:05:25 -07:00
Sergio Benitez 63d31e8082 Simplify a branch in check_config macro. 2016-10-04 15:05:25 -07:00
Sergio Benitez 05bed92272 Add real link to API docs in README. 2016-10-04 15:05:25 -07:00
Sergio Benitez 2ad508ed96 Test config and environments.
resolves #11
2016-10-04 15:05:25 -07:00
Sergio Benitez 463df9d1df New version: 0.0.10. 2016-10-04 15:05:16 -07:00
Sergio Benitez 418f80177c Fix README example for latest changes. 2016-10-03 19:49:12 -07:00
Sergio Benitez 4b6c72e33f Use move builder pattern to launch Rocket apps. 2016-10-03 19:48:33 -07:00
Sergio Benitez 7b1dc5a1a4 Remove Rocket::new(). Use 'ignite' everywhere. 2016-10-03 19:37:49 -07:00
Sergio Benitez d631dfd300 Use ignite in README example. Check ROCKET_ENV without Rocket.toml being present. 2016-10-03 19:21:21 -07:00
Sergio Benitez 920bd35d46 Update serde in examples. 2016-10-03 17:56:43 -07:00
Sergio Benitez 9cf23ae2d4 Fallback to relative path if directory doesn't exist. 2016-10-03 17:25:55 -07:00
Sergio Benitez 647efe15d1 Move uri module into http namespace. 2016-10-03 17:25:27 -07:00
Sergio Benitez 74ec26db95 Namespace HTTP-related type under `http`. 2016-10-03 17:09:13 -07:00
Sergio Benitez 17b88d0a6b Implement configuration and environments. 2016-10-03 03:39:56 -07:00
Sergio Benitez 39c979db4c Add library and usage information to main API doc. 2016-10-02 17:52:04 -07:00
Sergio Benitez 7c78994b70 Clean-up before creating docs to avoid dependencies in docs. 2016-10-02 17:51:35 -07:00
Sergio Benitez dc677124c6 Add script to build docs. 2016-10-02 17:29:59 -07:00
Sergio Benitez 8ff92efc93 Use readlink on Linux. 2016-10-02 01:23:28 -07:00
Sergio Benitez 4a0984891a Make running scripts more robust. 2016-10-02 01:18:37 -07:00
Sergio Benitez 7dc6e432b8 Change wordering of ContentType structure docs. 2016-09-30 20:31:32 -07:00
Sergio Benitez 320f2e0efa Document Request. 2016-09-30 20:22:06 -07:00
Sergio Benitez 9e402dfd07 Revert visibility change in ContentType constructor. 2016-09-30 20:10:49 -07:00
Sergio Benitez 57f79ca867 Document ContentType. 2016-09-30 20:04:43 -07:00
Sergio Benitez 4595338a39 Cache Cargo in Travis. 2016-09-30 15:39:55 -07:00
Sergio Benitez a29d56c52e Reform top-level libs mostly according to Rustfmt. 2016-09-30 15:20:11 -07:00
Sergio Benitez 008605bec7 This commit changes parsing traits and documents some of the core library:
* All From* trait methods are now named like the trait.
  * All From* traits have an associated Error type.
  * Document all of the `form` module.
  * Add codegen tests for auto-derived forms.
  * The param parsing traits now live under Request.
2016-09-30 01:25:07 -07:00
Sergio Benitez 76cbc14d23 Cleanup core library documentation. 2016-09-29 21:44:27 -07:00
Sergio Benitez a6c176815c Remove extern crate for missing dependency. 2016-09-29 21:43:42 -07:00
Sergio Benitez 9787085abf Fix examples for tweaked Template API. 2016-09-29 21:41:21 -07:00
Sergio Benitez 804154e537 Improve documentation for contrib library. 2016-09-29 21:26:06 -07:00
Sergio Benitez fec2866517 Check that version numbers match in testing script. 2016-09-29 20:50:06 -07:00
Sergio Benitez 1c4e0350d9 Use strict version numbers. Bump Rocket version. 2016-09-29 20:49:18 -07:00
Sergio Benitez 4c96f6c71f Revamp README: add documentation, testing, and contributing sections. 2016-09-29 18:56:11 -07:00
Sergio Benitez 85c06fde04 Fix test for new error message. 2016-09-28 20:55:13 -07:00
Sergio Benitez 7544af6e6d Clean-up method parsing error. 2016-09-28 20:41:23 -07:00