mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-23 04:33:06 +00:00
Don't strip the prefix from custom assets
This commit is contained in:
parent
028f499bf6
commit
e9978c119f
2 changed files with 2 additions and 31 deletions
|
@ -7,10 +7,8 @@ fn main() {
|
||||||
|
|
||||||
fn app() -> Element {
|
fn app() -> Element {
|
||||||
use_asset_handler("logos", |request, response| {
|
use_asset_handler("logos", |request, response| {
|
||||||
// Note that the "logos" prefix is stripped from the URI
|
// We get the original path - make sure you handle that!
|
||||||
//
|
if request.uri().path() != "/logos/logo.png" {
|
||||||
// However, the asset is absolute to its "virtual folder" - meaning it starts with a leading slash
|
|
||||||
if request.uri().path() != "/logo.png" {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,13 +124,6 @@ pub(super) fn desktop_handler(
|
||||||
|
|
||||||
if let Some(name) = name.to_str() {
|
if let Some(name) = name.to_str() {
|
||||||
if asset_handlers.has_handler(name) {
|
if asset_handlers.has_handler(name) {
|
||||||
// Trim the leading path from the URI
|
|
||||||
//
|
|
||||||
// I hope this is reliable!
|
|
||||||
//
|
|
||||||
// so a request for /assets/logos/logo.png?query=123 will become /logos/logo.png?query=123
|
|
||||||
strip_uri_prefix(&mut request, name);
|
|
||||||
|
|
||||||
return asset_handlers.handle_request(name, request, responder);
|
return asset_handlers.handle_request(name, request, responder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -162,26 +155,6 @@ fn serve_from_fs(path: PathBuf) -> Result<Response<Vec<u8>>> {
|
||||||
.body(std::fs::read(asset)?)?)
|
.body(std::fs::read(asset)?)?)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn strip_uri_prefix(request: &mut Request<Vec<u8>>, name: &str) {
|
|
||||||
// trim the leading path
|
|
||||||
if let Some(path) = request.uri().path_and_query() {
|
|
||||||
let new_path = path
|
|
||||||
.path()
|
|
||||||
.trim_start_matches('/')
|
|
||||||
.strip_prefix(name)
|
|
||||||
.expect("expected path to have prefix");
|
|
||||||
|
|
||||||
let new_uri = Uri::builder()
|
|
||||||
.scheme(request.uri().scheme_str().unwrap_or("http"))
|
|
||||||
.path_and_query(format!("{}{}", new_path, path.query().unwrap_or("")))
|
|
||||||
.authority("index.html")
|
|
||||||
.build()
|
|
||||||
.expect("failed to build new URI");
|
|
||||||
|
|
||||||
*request.uri_mut() = new_uri;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct the inline script that boots up the page and bridges the webview with rust code.
|
/// Construct the inline script that boots up the page and bridges the webview with rust code.
|
||||||
///
|
///
|
||||||
/// The arguments here:
|
/// The arguments here:
|
||||||
|
|
Loading…
Reference in a new issue