Commit Graph

205 Commits

Author SHA1 Message Date
Unknown
99afa7d5f7 Fix missing '```' at end of template example code. 2019-05-09 09:11:51 -07:00
Blake Smith
fcd64342fd Fix typo in 'databases' documentation: 'pg_db' -> 'my_db'. 2019-03-13 06:32:28 -07:00
Peter Farr
622f4f399c Flesh out database examples in the API documentation:
* Demonstrate multiple databases in ROCKET_DATABASES environment variable.
  * Add a second example of connection guard type creation.
2019-03-13 06:30:31 -07:00
Sergio Benitez
d8ada552c9 Remove duplicate 'use' in 'helmet' tests. 2019-02-06 19:40:26 -08:00
jeb
90296dde80 Change rocket_contrib to not depend on default features from rocket. 2019-01-31 20:25:44 -08:00
An Long
5ce43ed4e9 Add support for memcache connection pooling in 'rocket_contrib'. 2019-01-13 11:16:11 -08:00
Austin Hartzheim
a88bc95201 Specify 'rocket_contrib' version correctly in doc examples. 2019-01-12 14:54:22 -08:00
Eric Dattore
aba3ad327b Add database pool integration tests. 2018-12-23 21:12:44 -08:00
Sergio Benitez
3f58ea692f Add compile tests to contrib codegen. 2018-12-23 21:08:07 -08:00
Eric Dattore
7dd0c8fd02 Implement 'DerefMut' for database pools.
This commit also fixes database pool codegen amidst of generics.

Fixes #854.
Resolves #862.
2018-12-23 21:06:45 -08:00
Sergio Benitez
746023fe1f Use '&*' in database docs for reliable deref coercions.
Resolves #855.
2018-12-10 22:20:34 -08:00
Sergio Benitez
b88a2d7d05 Add notes about enabling features to contrib docs. 2018-12-07 09:07:27 -08:00
Sergio Benitez
a4dcb0cf4c New version: 0.4.0. 2018-12-06 09:19:11 -08:00
Eric Dattore
50a635ed8e Add support for MongoDB connection pooling in 'rocket_contrib'. 2018-12-06 08:17:12 -08:00
Sergio Benitez
90a6749313 New version: 0.4.0-rc.2. 2018-11-30 21:00:18 -08:00
Sergio Benitez
5ec21d5ba0 Update dependencies to published versions. 2018-11-30 09:00:16 -08:00
Sergio Benitez
b7db74144f Parameterize 'UriDisplay' with 'Path' or 'Query'.
This commit introduces the sealed `UriPart` marker trait as well as the
implementing `Path` and `Query` marker types, allowing for parts of a
URI to be distinguished at the type level. Consequently, `UriDisplay`
has been parameterized with `P: UriPart`, creating `UriDisplay<Path>`
and `UriDisplay<Query>`. The effect of this change is improved type
safely for URI rendering as well as the ability to omit rendering values
in query parts via `Option` and `Result`.

The `UriDisplay` derive was replaced by `UriDisplayQuery` and
`UriDisplayPath` which derive implementations for `UriDisplay<Path>`
and `UriDisplay<Query>`, respectively.

This commit also works around a rustdoc visibility issue by creating a
hidden `http::private` module.

Finally, this commit also removes the now vestigial use of the
`rustc_private` feature in codegen.

Fixes #827.
2018-11-27 10:01:47 -06:00
jeb
d14c3393a0 Fix notify dependency version. 2018-11-19 02:29:41 -08:00
Sergio Benitez
abb434f228 Stop using white for legible logging everywhere.
Prior to this change, Rocket emitted "white" text in much of its logging
output. On terminals with light backgrounds, the text was nearly
illegible. This PR stops using white coloring altogether, opting instead
to use the terminal's default color albeit with bold styling. On dark
terminals, this will likely be a light color, and on light terminals,
this will likely be a dark color. The end result is that Rocket's
logging output should be readable everywhere.

Resolves #639.
2018-11-19 02:11:38 -08:00
jeb
af84f60bb8 Fix forced HSTS logic in 'SpaceHelmet'. 2018-11-17 23:51:54 -08:00
Sergio Benitez
3b6c4d2a5f Prefix codegen imports to avoid name collisions.
Fixes #817.
2018-11-12 13:08:39 -08:00
Sergio Benitez
1bb23b8115 Rename 'space_helmet' to 'helmet'. Rework API. 2018-11-08 20:35:30 -08:00
Tal
c5167f1150 Add 'space_helmet' contrib module. 2018-11-08 20:35:26 -08:00
Sergio Benitez
4dbd87a36f New version: 0.4.0-rc.1. 2018-10-31 14:35:30 -07:00
Sergio Benitez
ef3e7ca2c6 Make all top-level crates publishable. 2018-10-31 03:57:37 -07:00
Sergio Benitez
4ef179cc59 Migrate from 'derive_utils' to published 'devise'.
Resolves #800.
2018-10-29 04:58:56 -07:00
jeb
d5fec97fcb Update 'contains_template' documentation. 2018-10-28 22:10:43 -07:00
Sergio Benitez
5c40d3b7e2 Reenable MySQL pooling support. 2018-10-27 18:14:17 -07:00
Sergio Benitez
556206e8b3 Version all URLs to 'rocket.rs'. 2018-10-26 21:20:12 -07:00
Sergio Benitez
26db5ecb4e Fix normalization and Windows issues. 2018-10-24 00:01:56 -07:00
Sergio Benitez
e0973d95f1 Log I/O error when live template reloading fails. 2018-10-23 23:58:12 -07:00
Sergio Benitez
21932cc277 Temporarily disable MySQL pooling support.
See rust-lang/rust#55219.
2018-10-21 20:04:17 -07:00
Sergio Benitez
2845b8d4d4 Add coloring disabling with 'ROCKET_CLI_COLORS=off'.
Resolves #703.
2018-10-21 19:46:37 -07:00
Sergio Benitez
0b2ece2f65 Update rusqlite dependencies. 2018-10-15 00:28:25 -07:00
Sergio Benitez
8741e678f8 Document contrib modules. 2018-10-12 18:52:38 -07:00
Sergio Benitez
f857f81d9c Import 'database' attribute with 'macro_use'. 2018-10-09 04:31:09 -07:00
Sergio Benitez
8b1e93192e Version documentation. 2018-10-09 04:31:09 -07:00
Sergio Benitez
9cb031a47d Modularize contrib. 2018-10-09 04:31:09 -07:00
Sergio Benitez
28f2a33abd Use inter/intra-crate links in all documentation. 2018-10-09 04:31:09 -07:00
Sergio Benitez
2839aca8ce Update features for latest nightly. 2018-10-09 04:31:09 -07:00
Sergio Benitez
360b0e80b0 Port all codegen tests to codegen_next. 2018-10-09 04:31:08 -07:00
Sergio Benitez
b9bf1ee37d Fix typed URI generation for query reform. 2018-10-09 04:31:08 -07:00
Sergio Benitez
61f107f550 Reimplement route attribute as a proc-macro.
This commits also implement the query reform from #608. It also consists
of many, many breaking changes. Among them are:

  * Query parts in route paths use new query reform syntax.
  * Routing for queries is now lenient.
    - Default ranking has changed to reflect query reform.
  * Format routing matching has been fixed.
    - Routes with formats matching "accept" will always collide.
    - Routes with formats matching "content-type" require requests to
      have an equivalent content-type header to match.
    - Requests with imprecise content-types are treated as not having a
      content-type.
  * Generated routes and catchers respect visibility modifiers.
  * Raw getter methods from request were renamed and retooled.
    - In particular, the index parameter is based on segments in the
      route path, not dynamic parameters.
  * The method-based attributes no longer accept a keyed 'path'.
  * The 'rocket_codegen' crate is gone and will no longer be public.
  * The 'FormItems' iterator emits values of type 'FormItem'.
    - The internal form items' string can no longer be retrieved.
  * In general, routes are more strictly validated.
  * Logging from codegen now funnels through logging infrastructure.
  * Routing has been optimized by caching routing metadata.

Resolves #93.
Resolves #608.
Resolves #693.
Resolves #476.
2018-10-09 04:18:04 -07:00
Sergio Benitez
ec4cc3a293 Allow transforms in 'FromData'. Add 'FromDataSimple'.
The new 'FromData' trait allows an implementor to instruct the caller to
maintain state on its stack and later pass a borrow for processing.
Among other things, it greatly simplifies the 'Form' type, removing a
use of unsafe, and allows references in deserialized data guards.
2018-09-26 21:33:02 -07:00
Sergio Benitez
74007815a0 Replace 'SerdeError' with 'JsonError' in 'Json' data guard.
The new 'JsonError' type allows users to inspect the raw string that
failed to parse as a given JSON value.

Resolves #772.
2018-09-18 18:57:11 -07:00
jeb
95cbc241db Ensure 'ContextManager' is 'Sync' on all platforms. 2018-09-16 23:39:32 -07:00
jeb
8e779610c4 Reimplement 'routes!' and 'catchers!' as proc-macros. 2018-09-16 18:52:23 -07:00
Sergio Benitez
46afabdfea Remove neglected and obscure 'Error' type. 2018-09-16 03:07:50 -07:00
Sergio Benitez
112e700836 Reimplement 'catch' attribute as a proc-macro. 2018-09-16 01:32:40 -07:00
Sergio Benitez
1f2f38ea5f Update to latest 'derive_utils'. 2018-09-14 23:15:58 -07:00