Sergio Benitez
45b4436ed3
Add default catchers: '#[catch(default)]'.
...
The bulk of the changes in this commit are for creating an
'ErrorHandler' trait that works like the 'Handler' trait, but for
errors. Furthermore, Rocket's default catcher now responds with a JSON
payload if the preferred 'Accept' media type is JSON.
This commit also fixes a bug in 'LocalRequest' where the internal
'Request' contained an correct 'URI'.
2020-07-30 01:55:41 -07:00
Jonathan Dickinson
f3beb68491
Remove superfluous lifetimes in 'Fairing' methods.
2020-07-23 21:32:20 -07:00
Sergio Benitez
adc79016cd
Rearrange top-level exports. Use '#[launch]'.
...
This commits makes the following high-level changes:
* 'ShutdownHandle' is renamed to 'Shutdown'.
* 'Rocket::shutdown_handle()' is renamed to 'Rocket::shutdown()'.
* '#[launch]` is preferred to '#[rocket::launch]'.
* Various docs phrasings are improved.
* Fixed various broken links in docs.
This commits rearranges top-level exports as follows:
* 'shutdown' module is no longer exported.
* 'Shutdown' is exported from the crate root.
* 'Outcome' is not longer exported from the root.
* 'Handler', 'ErrorHandler' are no longer exported from the root.
2020-07-22 16:10:02 -07:00
Maxime Guerreiro
9895eb736d
Use clearer imports in 'requests' guide.
2020-07-22 13:11:13 -07:00
atouchet
79886c1a8e
Update 'Riot' to 'Element'.
2020-07-22 13:03:35 -07:00
Necmettin Karakaya
fde6eda915
Fix various typos throughout the codebase.
2020-07-22 12:56:01 -07:00
Sergio Benitez
ebdb4a2c3b
Note our preference for '#[macro_use]' in guide.
...
Closes #1156 .
2020-07-22 12:46:54 -07:00
Jeb Rosen
8224a1592f
Simplify language in 'responses' guide.
2020-07-22 12:28:48 -07:00
Sergio Benitez
b47d1b8f0f
Rework docs for stable and async support.
2020-07-21 16:15:13 -07:00
Sergio Benitez
9a2149b43d
Test guide and README using stable 'doc_comment'.
2020-07-21 15:31:44 -07:00
Sergio Benitez
949b01cb9d
Remove 'redis' integration from 'contrib'.
...
The latest version of 'redis' is async and implements its own connection
retrieval.
2020-07-21 15:11:07 -07:00
Jeb Rosen
9d4fea2937
Remove 'mongodb' integration from 'contrib'.
...
The latest version of 'mongodb' is async and implements its own internal
connection pooling.
2020-07-21 10:54:07 -07:00
Jeb Rosen
3a40d1071c
Remove 'rusted_cypher' integration from 'contrib'.
2020-07-21 10:54:07 -07:00
Jeb Rosen
62113abcd2
Upgrade 'redis' to 0.15 in 'contrib'.
2020-07-21 10:54:07 -07:00
Jeb Rosen
fbe6c1081f
Upgrade 'rusqlite' to 0.23 in 'contrib'.
2020-07-21 10:54:07 -07:00
Jeb Rosen
2879f44148
Upgrade 'mysql' to 18.0 in 'contrib'.
2020-07-21 10:54:07 -07:00
Sergio Benitez
0909ba2ef6
Only enable testing features on 'cfg(test)'.
2020-07-16 05:49:38 -07:00
Sergio Benitez
62355b424f
Remove use of stable 'proc_macro_hygiene' feature.
2020-07-11 10:48:08 -07:00
Jeb Rosen
114a733d70
Use 'tokio::fs::File' in the 'pastebin' example.
2020-07-11 10:07:37 -07:00
Jeb Rosen
2b3d8110f1
Use '#[rocket::launch]' in guide examples.
2020-07-11 10:07:37 -07:00
Jeb Rosen
2c82b3e1d5
Update and fix guide tests.
2020-07-11 10:07:37 -07:00
Sergio Benitez
832408ea9b
Add example requiring async testing.
2020-07-11 09:24:30 -07:00
Jeb Rosen
96bafd8ac5
Mention async testing in the testing guide.
2020-07-11 09:24:30 -07:00
Jeb Rosen
06975bfaea
Use the blocking testing API everywhere.
...
Co-authored-by: Sergio Benitez <sb@sergio.bz>
2020-07-11 09:24:30 -07:00
Sergio Benitez
03127f4dae
Add blocking variant of 'local'.
...
This commit adds the 'local::blocking' module and moves the existing
asynchronous testing to 'local::asynchronous'. It also includes several
changes to improve the local API, bringing it to parity (and beyond)
with master. These changes are:
* 'LocalRequest' implements 'Clone'.
* 'LocalResponse' doesn't implement 'DerefMut<Target=Response>'.
Instead, direct methods on the type, such as 'into_string()', can
be used to read the 'Response'.
* 'Response::body()' returns an '&ResponseBody' as opposed to '&mut
ResponseBody', which is returned by a new 'Response::body_mut()'.
* '&ResponseBody' implements 'known_size()` to retrieve a body's size,
if it is known.
Co-authored-by: Jeb Rosen <jeb@jebrosen.com>
2020-07-11 09:24:30 -07:00
Sergio Benitez
12308b403f
Add '#[rocket::launch]' attribute.
...
The attribute is applied everywhere it can be across the codebase and is
the newly preferred method for launching an application. This commit
also makes '#[rocket::main]` stricter by warning when it is applied to
functions other than 'main'.
2020-07-11 09:24:29 -07:00
Jeb Rosen
bc1b90cbdb
Add '#[rocket::main]' attribute and make 'launch()' an 'async fn'.
...
'#[rocket::main]' works like '#[rocket::async_test]', but it uses
tokio's multithreaded scheduler.
2020-07-11 09:24:29 -07:00
Jeb Rosen
e72058de81
Add 'config()' and 'state()' functions directly to 'Rocket' for convenience.
2020-07-11 09:24:29 -07:00
Jeb Rosen
b0238e5110
Make 'Fairing::on_attach()' async.
...
This transitively requires that 'Rocket::inspect()', 'Client::new()',
and 'Client::untracked()' also become async.
2020-07-11 09:24:29 -07:00
Jeb Rosen
dea940c7a8
Defer execution of operations on 'Rocket' until their effects will be
...
observed.
This is a prerequisite for async on_attach fairings. 'Rocket' is now a
builder wrapper around the 'Manifest' type, with operations being
applied when needed by 'launch()', 'Client::new()', or 'inspect()'.
'inspect()' returns an '&Manifest', which now provides the methods that
could be called on an '&Rocket'.
2020-07-11 09:24:29 -07:00
Sergio Benitez
431b963774
Use 'async_trait' for 'FromRequest'.
...
Removes 'FromRequestAsync'.
2020-07-11 09:24:29 -07:00
Jeb Rosen
70db7fb2ea
Add some general documentation on async as it pertains to Rocket.
2020-07-11 09:24:29 -07:00
Jeb Rosen
f2487ccec5
Update the guide for async-related API changes.
2020-07-11 09:24:29 -07:00
Jeb Rosen
5d439bafc0
Convert core to async and add support for async routes.
...
Minimum rustc bump required for rust-lang/rust#61775
2020-07-11 09:24:28 -07:00
arctic-alpaca
1e623c8aaa
Fix invalid JSON data in a guide example.
2020-06-28 10:35:15 -07:00
Sergio Benitez
336353ced6
Foreshadow routing and catcher options in overview.
...
Resolves #1206 .
Co-authored-by: Jeb Rosen <jeb@jebrosen.com>
2020-06-11 20:42:32 -07:00
benjaminbecker
1010f6a2a8
Fix typo in configuration guide: 'AssertsDir' -> 'AssetsDir'.
2020-04-21 18:47:22 -07:00
Sergio Benitez
53353df633
Fix more broken links.
2020-03-09 02:03:38 -07:00
Sergio Benitez
021e2fdb0e
Update references to chat channels.
2020-02-27 14:39:36 -08:00
Sergio Benitez
39b1f2f8d0
Provide more details for opaque examples in guide.
...
Closes #1100 .
2020-02-15 19:47:50 -08:00
Sergio Benitez
95c981de79
Test all guide code examples.
...
Every code example is now fully runnable and testable. As a result, all
examples are now tested and include imports. Relevant imports are shown
by default. Code examples can be expanded to show all imports.
Fixes #432 .
2020-02-15 04:02:19 -08:00
Sergio Benitez
f35e3c4aca
Set cookies even on error responses.
...
Fixes #1213 .
2020-01-23 21:10:04 -08:00
Jeb Rosen
31712018bb
Update versions and links for updated dependencies.
2020-01-20 14:51:00 -08:00
Michael Howell
121210c55c
Add support for base16-encoded (a.k.a. hex-encoded) secret keys.
2019-11-29 12:06:55 -08:00
Jeb Rosen
9c5d0912ec
Explain how to resolve the One-At-A-Time Cookies problem when using FlashMessage.
...
Fixes #1090 .
2019-11-16 13:15:47 -08:00
Jeb Rosen
d98e938e1a
Point out that the database attribute must be imported.
...
Fixes #1074 .
2019-11-16 13:15:47 -08:00
Jeb Rosen
14ee05b9a1
Change 'cookies' to 'mut cookies' in the guide, as required to call 'get_private'.
...
Fixes #1095 .
2019-11-16 13:15:44 -08:00
Jeb Rosen
3e4f8453ce
Remove use of the 'decl_macro' feature.
...
Also removes one internal use in the 'typed-uris' codegen test.
2019-07-19 11:39:56 -07:00
Jeb Rosen
fc78eaf836
Document contrib database library versions.
...
This commit also adds a note to the contrib database documentation
describing how to enable features in upstream database crates.
2019-06-26 09:11:27 -04:00
Sergio Benitez
2495894c37
Fix route path rendering in pastebin guide.
...
Resolves #1027 .
2019-06-11 14:23:38 -07:00
Jeb Rosen
273c7a607d
Update 'mysql' to 16.0, 'redis' to 0.10.
2019-05-16 13:50:54 -07:00
Leonora Tindall
c6c0b3a6e1
Update 'rusqlite' dependency to 0.16.
2019-05-16 13:50:54 -07:00
Sergio Benitez
1caf87eb21
Move to 0.5.0-dev on master.
2019-05-13 16:18:48 -07:00
Sergio Benitez
9d93d55538
Document mounting multiple routes in guide.
...
Also mention that a route's rank is displayed in brackets.
Closes #983 .
Closes #981 .
2019-05-10 19:39:38 -07:00
Jeb Rosen
7405033a66
Update 'Rocket source code' link in the guide.
2019-05-10 18:30:17 -07:00
Jeb Rosen
0666e425fe
Add a few missing pieces of 'compression' documentation.
2019-05-04 08:38:11 -07:00
Yazid
7833ee1b76
Correction to requests guide: 'route' -> 'guard'.
2019-04-12 17:58:24 -07:00
Bryan Jennings
c776c59e6a
Fix typo in requests guide: missing ')'.
2019-04-12 17:57:02 -07:00
Denis Andrejew
06edd5fab5
Clarify form method rewriting in requests guide.
2019-03-30 10:16:25 -07:00
Damir Vandic
ecc17d191f
Reword guide-level explanation of optional query parameters.
2019-03-09 12:01:23 -08:00
Noah Rosenzweig
fb1f7482ee
Fix typo in fairings guide: 'to the launch' -> 'to launch'.
2019-01-31 20:13:25 -08:00
An Long
5ce43ed4e9
Add support for memcache connection pooling in 'rocket_contrib'.
2019-01-13 11:16:11 -08:00
Riley Watkins
4f81292830
Fix typo in responses guide: '#[responder]' -> '#[response]'.
2018-12-26 10:53:15 -08:00
Eric Dattore
aba3ad327b
Add database pool integration tests.
2018-12-23 21:12:44 -08:00
John Downey
9750ae67dd
Update pastebin guide for 0.4.
2018-12-14 13:21:30 -08:00
Sergio Benitez
104429f398
Add 'Debug' to 'Responder' derive in announcement.
2018-12-12 00:04:55 -08:00
Andrew
4a0fee4129
Fix typo in requests guide: 'of' -> 'or'.
2018-12-10 22:26:02 -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
ba96de314c
Fix news announcement title in index.
2018-12-10 11:59:13 -08:00
Jelte Fennema
cb520f4067
Fix status code typo in release announcement.
2018-12-08 14:48:03 -08:00
Sergio Benitez
f64d9bc1a1
Fix more typos in release announcement.
2018-12-08 10:29:43 -08:00
Sergio Benitez
1d82225fc9
Fix release announcement typo.
2018-12-08 10:19:00 -08:00
Sergio Benitez
2ec865dea2
Add v0.4 release announcement.
2018-12-08 08:45:06 -08:00
Sergio Benitez
5056705884
Improve query string routing and typed URI docs.
2018-12-07 12:09:15 -08:00
Desmond
d3c161e7d6
Fix typo in responses guide: 'T he' -> 'The'.
2018-12-06 21:29:51 -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
Zack Chandler
59e27820e9
Fix typo in guide intro: 'offerring' -> 'offering'.
2018-11-14 03:42:02 -08:00
Vishal Sodani
d813883fa5
Remove extraneous 'to' in state guide.
2018-11-14 03:40:58 -08:00
Sergio Benitez
4224419e63
Reduce 'cfg' usage for 'private-cookies' feature.
2018-11-08 23:56:15 -08:00
Linus Unnebäck
53758c6dd7
Introduce the 'private-cookies' feature.
2018-11-08 23:38:18 -08:00
Sergio Benitez
0ac6c18deb
Fix 'rocket::custom()' guide documentation.
2018-11-08 09:26:50 -08:00
Sergio Benitez
1c496b3424
Improve the overview site page.
2018-11-06 23:35:03 -08:00
bohov
8195453249
Fix console output in guide.
2018-11-04 17:26:06 -08:00
Sergio Benitez
4dbd87a36f
New version: 0.4.0-rc.1.
2018-10-31 14:35:30 -07:00
Sergio Benitez
41de1e62fb
Implement 'Responder' for 'Status'.
...
This commit obviates the following removed types:
* response::Failure
* response::status::NoContent
* response::status::Reset
Closes #489 .
2018-10-31 03:57:22 -07:00
Sergio Benitez
34c76dd0a9
Keep release info in site's 'index.toml'.
2018-10-28 20:17:44 -07:00
Sergio Benitez
4d72a92a9c
Reorganize templating sections in responses guide.
2018-10-28 20:17:42 -07:00
Sergio Benitez
556206e8b3
Version all URLs to 'rocket.rs'.
2018-10-26 21:20:12 -07:00
Sergio Benitez
38536b58b5
Improve templates guide documentation.
2018-10-26 20:52:28 -07:00
Sergio Benitez
2b89acb5bc
Use better verbage on site index.
2018-10-26 03:33:12 -07:00
Sergio Benitez
0493febc58
Keep core count generic in guide.
2018-10-23 01:22:46 -07:00
Sergio Benitez
3903ffdb47
Update guide in full for current 0.4.0-dev.
2018-10-22 14:50:57 -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
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
d011cd63fc
Remove unnecessary 'use rocket::catch'.
2018-09-16 20:52:07 -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
fe9fad339e
Clean up connection pooling documentation.
2018-08-15 23:31:49 -07:00
Sergio Benitez
5fa28ae9d2
Mention 'format' shorthands in requests guide.
2018-08-14 22:15:16 -07:00
Alfie John
47485dbadd
Fix a few grammar issues in guide.
2018-08-14 21:50:23 -07:00
Sergio Benitez
e0961e0750
Require all 'AdHoc' fairings to be named.
2018-08-14 09:14:06 -07:00
Sergio Benitez
f941b1310b
Improve template engine customization docs.
2018-08-10 23:29:12 -07:00
jeb
491b04cf5a
Implement template auto-reload.
...
Resolves #163 .
2018-08-10 23:29:12 -07:00
Sergio Benitez
b5a4e18b0e
Remove outdated lint information in state guide.
...
Closes #389 .
2018-08-07 23:55:25 -07:00
Sergio Benitez
41f0614b14
Update request-local state documentation.
2018-08-07 23:16:16 -07:00
jeb
d1cfdbaa8e
Add documentation and examples for request-local state.
...
Closes #654 .
2018-08-07 19:40:30 -07:00
Oleg Antonyan
0079e738e8
Add docs on retrieving config extras to guide.
...
Resolves #576 .
2018-07-02 15:17:53 -07:00
Rolf Schmidt
0842612607
Improve error catcher documentation in requests guide.
2018-05-31 21:16:11 +02:00
Sergio Benitez
d17b392538
Use diesel <= 1.2 while nightly issues persist.
2018-05-29 18:37:14 +02:00
Richard Petrie
1914706630
Fix database pool type in state guide.
2018-05-05 00:27:33 -07:00
pixelistik
2c9506d98f
Fix typo in guide: 'revisting' -> 'revisiting'.
2018-04-08 17:56:43 -07:00
Shawn T. Amundson
92b6eb161f
Fix typo in responses guide: 'An' -> 'As'.
2018-04-03 13:02:30 -07:00
Daniel McNab
96bb608e3a
Correct various spellings and typos in the guide.
...
Note that there are also some changes to the release notes included.
2018-04-03 10:57:57 -07:00
Sergio Benitez
d4e590af83
Fix 'diesel' version in state guide and todo example.
2018-02-21 16:07:09 -08:00
Eric Dattore
c48905f483
Use 'diesel::r2d2' in state guide and todo example.
...
Diesel now reexports r2d2, so rather than including that library
explicitly, let's leverage the reexport.
2018-02-21 15:53:02 -08:00
Sergio Benitez
9403006ba4
Fix guide for changes to default environments.
2018-01-20 10:02:21 -08:00
Donald Robertson
19f59b1f9b
Use port 8000 as default for all environments.
...
Closes #317 .
2018-01-20 09:43:19 -08:00
Sergio Benitez
e6a602cefc
Revert nightly workaround in getting started guide.
2018-01-12 20:06:27 -08:00
Sergio Benitez
24b2818f8c
Update diesel to 1.0.
2018-01-03 01:38:11 -08:00
calhilcaw
401bedebb2
Update docs and examples for diesel 1.0.0-rc1.
2018-01-03 01:38:05 -08:00
Richard McCormack
2f7961f410
Fix typo in state guide: 'simple' -> 'simply'.
2017-12-28 23:21:53 -08:00
Sergio Benitez
6f35ccb9c9
Document nightly compatibility issues.
...
Closes #519 .
2017-12-26 20:50:56 -08:00
toddWannaCode
3be6b6c4a6
Fix link to forms example in requests guide.
2017-12-14 18:39:10 +07:00
Cole R Lawrence
edb494c6c3
Fix typo in fairings guide: 'event' -> 'events'.
2017-11-17 13:20:30 -08:00
Sergio Benitez
237c673be4
Rename '#[error]' to '#[catch]', 'errors!' to 'catchers!'.
2017-09-22 19:04:14 -07:00
Sergio Benitez
33e9726151
Use 'decl_macro' in markdown docs.
2017-09-14 22:13:07 -07:00
Pascal Brandt
c2e4c520f1
Fix typo in site overview: by -> be.
2017-08-29 17:48:21 -07:00
Sergio Benitez
a019f0d1f3
Use new 'JsonValue' type as return type of 'json!'.
...
Prior to this commit, a 'json!' invocation returned a value of type
'Value' from 'serde_json'. Because 'Value' does not implement
'Responder', most uses of 'json!' were wrapped in 'Json':
'Json(json!(..))`. By returning a crate-local 'JsonValue' type that
implements 'Responder', this repetition is resolved, and a 'json!' can
appear unwrapped.
This commit also removes the reexport of 'Value' from 'rocket_contrib'
as well as the default type of 'Value' for 'T' in 'Json<T>'.
2017-08-25 23:14:42 -07:00
Lee Baillie
31fd24d027
Fix typo in site overview: 'Reponder' -> 'Responder'.
2017-08-22 01:53:27 -07:00
Rolf Sievers
3a76fe03db
Improve commentary on collisions in pastebin example.
2017-08-13 02:56:23 -07:00
Sergio Benitez
a58790d6d9
Additional changes to fairings guide overview.
2017-08-11 15:32:24 -07:00
Lori Holden
536dd39636
Improve overview in fairings guide.
2017-08-11 15:30:02 -07:00
Arne Bahlo
6279039361
Fix database usage code in state guide: '&*conn'.
2017-08-11 15:11:45 -07:00
Sergio Benitez
3f6c6fd576
Move to 0.4.0-dev on master.
2017-08-11 09:32:27 -07:00
Sergio Benitez
6d3cd374ac
Fix the 'user_id' route in cookies guide.
2017-07-18 14:27:10 -04:00
Karuna Murti
5720748557
Add missing semicolon to pastebin tutorial code.
2017-07-17 14:12:29 -04:00
Sergio Benitez
f87746d211
Post-release 0.3 news article updates.
2017-07-15 02:31:20 -07:00
Sergio Benitez
aa91daf71f
Add 'Data Limits' section to config guide.
2017-07-15 02:29:36 -07:00
Tommy Ip
ae406cf0ca
Fix 'clusure' typo in fairings guide and ad_hoc.rs.
...
Fixes #348 .
2017-07-15 00:36:41 -07:00
Sergio Benitez
cdacda0896
New version: 0.3.0.
2017-07-14 11:30:48 -07:00
Sergio Benitez
f093ea490d
Rocket 0.3 release news.
2017-07-14 11:17:24 -07:00
Sergio Benitez
f182f65054
Improvements to configuration and requests guides.
2017-07-14 11:17:24 -07:00
Sergio Benitez
aa51fe0e11
Fix small typo in fairings guide.
2017-07-12 15:36:43 -07:00
Sergio Benitez
897313730d
Use TitleCase for all 'content::' struct names.
2017-07-12 15:21:45 -07:00