| Crates.io | my-canister-frontend |
| lib.rs | my-canister-frontend |
| version | 0.2.1 |
| created_at | 2025-07-16 13:24:00.366289+00 |
| updated_at | 2025-09-11 08:54:14.535887+00 |
| description | Frontend asset utilities Canister Dapps |
| homepage | |
| repository | https://github.com/Web3NL/my-canister-dapp/tree/main/my-canister-dapp-rs/my-canister-frontend |
| max_upload_size | |
| id | 1755497 |
| size | 44,977 |
Frontend asset processing library for Internet Computer Canister Dapps.
Single canister example:
use ic_cdk::{init, query};
use ic_http_certification::{HttpRequest, HttpResponse};
use include_dir::{include_dir, Dir};
use my_canister_frontend::setup_frontend;
static ASSETS: Dir = include_dir!("$CARGO_MANIFEST_DIR/../dapp-frontend/dist");
#[init]
fn init() {
setup_frontend(&ASSETS);
}
#[query]
fn http_request(req: HttpRequest) -> HttpResponse {
my_canister_frontend::http_request(req)
}
Dir via include_dirmime_guessindex.html auto-configured as fallback for /ic-asset-certificationwith_asset_router and with_asset_router_mut for access to the asset router, see example below.asset_router_configs if you want to implement your own asset router, see this example.my_canister_dashboarduse ic_cdk::{init, query};
use ic_http_certification::{HttpRequest, HttpResponse};
use include_dir::{include_dir, Dir};
use my_canister_dashboard::setup_dashboard_assets;
use my_canister_frontend::setup_frontend;
use my_canister_frontend::asset_router::with_asset_router_mut;
static ASSETS: Dir = include_dir!("$CARGO_MANIFEST_DIR/../dapp-frontend/dist");
#[init]
fn init() {
setup_frontend(&ASSETS);
// Setup dashboard in internal asset router
with_asset_router_mut(|router| {
setup_dashboard_assets(
router,
Some(vec![
"https://mycanister.app".to_string(),
]),
);
});
}
#[query]
fn http_request(req: HttpRequest) -> HttpResponse {
my_canister_frontend::http_request(req)
}
MIT