Skip to content

Commit a59cb04

Browse files
committed
Update core server code to use new error trait
1 parent af68f5e commit a59cb04

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

core/lib/src/lifecycle.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use futures::future::{FutureExt, Future};
22

3-
use crate::catcher::{default_error_type, ErasedError};
3+
use crate::catcher::Error;
44
use crate::trace::Trace;
55
use crate::util::Formatter;
66
use crate::data::IoHandler;
@@ -202,7 +202,7 @@ impl Rocket<Orbit> {
202202
// Go through all matching routes until we fail or succeed or run out of
203203
// routes to try, in which case we forward with the last status.
204204
let mut status = Status::NotFound;
205-
let mut error = default_error_type();
205+
let mut error = None;
206206
for route in self.router.route(request) {
207207
// Retrieve and set the requests parameters.
208208
route.trace_info();
@@ -236,7 +236,7 @@ impl Rocket<Orbit> {
236236
&'s self,
237237
mut status: Status,
238238
req: &'r Request<'s>,
239-
mut error: ErasedError<'r>,
239+
mut error: Option<Box<dyn Error<'r>>>,
240240
) -> Response<'r> {
241241
// We may wish to relax this in the future.
242242
req.cookies().reset_delta();
@@ -273,17 +273,17 @@ impl Rocket<Orbit> {
273273
async fn invoke_catcher<'s, 'r: 's>(
274274
&'s self,
275275
status: Status,
276-
error: ErasedError<'r>,
276+
error: Option<Box<dyn Error<'r>>>,
277277
req: &'r Request<'s>
278-
) -> Result<Response<'r>, (Option<Status>, ErasedError<'r>)> {
278+
) -> Result<Response<'r>, (Option<Status>, Option<Box<dyn Error<'r>>>)> {
279279
if let Some(catcher) = self.router.catch(status, req) {
280280
catcher.trace_info();
281281
catch_handle(
282282
catcher.name.as_deref(),
283283
|| catcher.handler.handle(status, req, error)
284284
).await
285285
.map(|result| result.map_err(|(s, e)| (Some(s), e)))
286-
.unwrap_or_else(|| Err((None, default_error_type())))
286+
.unwrap_or_else(|| Err((None, None)))
287287
} else {
288288
info!(name: "catcher", name = "rocket::default", "uri.base" = "/", code = status.code,
289289
"no registered catcher: using Rocket default");

core/lib/src/local/asynchronous/request.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use std::fmt;
22

3-
use crate::catcher::default_error_type;
43
use crate::{Request, Data};
54
use crate::http::{Status, Method};
65
use crate::http::uri::Origin;
@@ -87,7 +86,7 @@ impl<'c> LocalRequest<'c> {
8786
if self.inner().uri() == invalid {
8887
error!("invalid request URI: {:?}", invalid.path());
8988
return LocalResponse::new(self.request, move |req| {
90-
rocket.dispatch_error(Status::BadRequest, req, default_error_type())
89+
rocket.dispatch_error(Status::BadRequest, req, None)
9190
}).await
9291
}
9392
}

0 commit comments

Comments
 (0)