fix panic if invalid url
This commit is contained in:
parent
6c3ee2fbe8
commit
75c0a61bf9
@ -1,7 +1,7 @@
|
|||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
use rust_embed::RustEmbed;
|
use rust_embed::{EmbeddedFile, RustEmbed};
|
||||||
use rocket::{Data, Request, Response, Route};
|
use rocket::{Data, Request, Response, Route};
|
||||||
use rocket::http::{ContentType, Method};
|
use rocket::http::{ContentType, Method, Status};
|
||||||
use rocket::http::uri::{Segments};
|
use rocket::http::uri::{Segments};
|
||||||
use rocket::http::uri::fmt::Path;
|
use rocket::http::uri::fmt::Path;
|
||||||
use rocket::route::{Handler, Outcome};
|
use rocket::route::{Handler, Outcome};
|
||||||
@ -13,8 +13,7 @@ struct Asset;
|
|||||||
|
|
||||||
#[cfg(feature = "static")]
|
#[cfg(feature = "static")]
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct CustomHandler {
|
pub struct CustomHandler {}
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "static")]
|
#[cfg(feature = "static")]
|
||||||
impl Into<Vec<Route>> for CustomHandler {
|
impl Into<Vec<Route>> for CustomHandler {
|
||||||
@ -38,8 +37,12 @@ impl Handler for CustomHandler {
|
|||||||
path
|
path
|
||||||
};
|
};
|
||||||
|
|
||||||
let file_content =
|
let file_content = <Asset as RustEmbed>::get(path.to_string_lossy().as_ref());
|
||||||
<Asset as RustEmbed>::get(path.to_string_lossy().as_ref()).unwrap();
|
let file_content = match file_content {
|
||||||
|
None => return Outcome::Failure(Status::NotFound),
|
||||||
|
Some(c) => c
|
||||||
|
};
|
||||||
|
|
||||||
let content_type: ContentType = path
|
let content_type: ContentType = path
|
||||||
.extension()
|
.extension()
|
||||||
.map(|x| x.to_string_lossy())
|
.map(|x| x.to_string_lossy())
|
||||||
|
Loading…
Reference in New Issue
Block a user