Commit Graph

1600 Commits

Author SHA1 Message Date
Sergio Benitez b429063279 Fix incorrect 'Data' buffering.
This regression was introduced in ad0ba0d5, where the buffer was
being copied from Hyper instead of being 'taken', resulting in
double-bufferred contents.
2018-10-21 20:36:40 -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 831d8dfbe3 Document codegen attributes individually. 2018-10-18 04:00:36 -07:00
Sergio Benitez 330390ad71 Fix unsynchronized doctest. 2018-10-17 18:33:08 -07:00
Sergio Benitez 2d56af504d Fix broken site URLs and typos. 2018-10-16 04:01:17 -07:00
Sergio Benitez 3151bdc212 Revise 'rocket::custom()' explanation for updated guide. 2018-10-15 22:56:40 -07:00
Sergio Benitez 26ee132782 Update site content for restructure. 2018-10-15 22:53:05 -07:00
Zac Pullar-Strecker 1c0f2d41a7 Explain 'rocket::custom()' in configuration guide.
Resolves #371.
2018-10-15 22:52:41 -07:00
Sergio Benitez ea158d4344 Individually document proc bang macros and derives. 2018-10-15 15:27:47 -07:00
Sergio Benitez ad0ba0d5f1 Remove use of 'unsafe' in 'Data'. 2018-10-15 01:52:06 -07:00
Sergio Benitez 0b2ece2f65 Update rusqlite dependencies. 2018-10-15 00:28:25 -07:00
Sergio Benitez 05eee14d90 Update pear to latest revision. 2018-10-14 23:49:02 -07:00
Sergio Benitez 8741e678f8 Document contrib modules. 2018-10-12 18:52:38 -07:00
Richo Healey 085a143075 Update docstring for 'ConfigBuilder::keep_alive'. 2018-10-11 16:39:35 -07:00
Sergio Benitez e34b2f3703 Fully document all public items in core. 2018-10-10 05:28:01 -07:00
Sergio Benitez f5219174d0 Allow docs to be built without cleaning with '-d'. 2018-10-10 04:21:06 -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 3eb873d89d Tidy 'uri!' proc-macro. Improve error reporting. 2018-10-04 02:00:04 -07:00
jeb 7624aaf3e4 Reimplement 'uri!' as a proc-macro. 2018-10-03 21:56:37 -07:00
Sergio Benitez cee2f4439f Fix 'content_types' example for debug-only 'FromData' impl. 2018-09-27 01:16:26 -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 633d37bc97 Fix invalid TOML test for updated 'toml' dependency. 2018-09-25 19:41:59 -07:00
Sergio Benitez 24ee97575b Remove Collider trait. 2018-09-24 19:44:38 -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
Sergio Benitez 1a3fd1d237 Add known media types and extensions.
Adds the following to the list of known media types:

  * audio/webm (WEBA)
  * image/tiff (TIFF)
  * audio/aac (AAC)
  * text/calendar (Calendar)
  * video/mpeg (MPEG)
  * application/x-tar (TAR)
  * application/gzip (GZIP)
  * video/quicktime (MOV)
  * video/mp4 (MP4)

Also adds the following to the list of known extensions:

  * .weba (WEBA)
  * .ogv (OGG)
  * .mp4 (MP4)
  * .mpeg4 (MP4)
  * .aac (AAC)
  * .ics (Calendar)
  * .bin (Binary)
  * .mpg (MPEG)
  * .mpeg (MPEG)
  * .tar (TAR)
  * .gz (GZIP)
  * .tif (TIFF)
  * .tiff (TIFF)
  * .mov (MOV)
2018-09-18 18:25:39 -07:00
jeb 95cbc241db Ensure 'ContextManager' is 'Sync' on all platforms. 2018-09-16 23:39:32 -07:00
Sergio Benitez d011cd63fc Remove unnecessary 'use rocket::catch'. 2018-09-16 20:52:07 -07:00
Sergio Benitez d2abbe72e0 Merge 'use's in 'hello_2018' example. 2018-09-16 20:38:10 -07:00
Sergio Benitez 7926ffd6f0 Tidy 'routes!' and 'catchers!' proc-macros. 2018-09-16 20:38:02 -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 351757c6ee Rename 'Rocket::catch()' to 'Rocket::register()'. 2018-09-16 02:25:12 -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
jeb cfdb2a404b Add Icon (image/x-icon) as a known media type. 2018-09-11 15:16:06 -07:00
jeb 242b358e37 Fix typo in 'handle_error' docstring. 2018-09-11 15:13:20 -07:00
jeb 30cf75335b Embed the diesel database migrations in the `todo` example.
`diesel_cli` is no longer needed for running the example or its tests.
2018-09-11 12:38:10 -07:00
Christophe Courtaut 7b050ebaae Update 'uuid' dependency to '0.7'. 2018-09-11 11:04:50 -07:00
Sébastien Santoro bac186fc0d Fix typo in contrib 'Cargo.toml'. 2018-09-03 19:54:02 -07:00
Tal 8172f748b3 Implement 'Clone' for all URI types. 2018-09-03 19:42:34 -07:00
jeb 1da506ea5d Remove use of the 'const_fn' feature. 2018-09-03 19:41:31 -07:00
Sergio Benitez 42361c31f1 Use crates.io version of 'compiletest_rs'. 2018-08-26 19:24:13 -07:00