Skip to content

Commit d632306

Browse files
bakcxojzebp
authored andcommitted
Assets test in worker-sandbox
1 parent 637f3ae commit d632306

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

worker-sandbox/src/assets.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#[cfg(not(feature = "http"))]
2+
pub async fn handle_asset(
3+
req: worker::Request,
4+
env: worker::Env,
5+
_data: crate::SomeSharedData,
6+
) -> worker::Result<worker::Response> {
7+
use worker::Url;
8+
9+
let url: Url = req.url()?;
10+
let name: String = url.path_segments().unwrap().nth(1).unwrap().to_string();
11+
let url: String = ["https://dummyurl.com/", &name].concat();
12+
Ok(env
13+
.assets("ASSETS")
14+
.expect("ASSETS BINDING")
15+
.fetch(url, None)
16+
.await?)
17+
}

worker-sandbox/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ use std::sync::{
66
#[cfg(feature = "http")]
77
use tower_service::Service;
88
use worker::*;
9+
910
mod alarm;
11+
mod assets;
1012
mod cache;
1113
mod counter;
1214
mod d1;

worker-sandbox/src/router.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::{
2-
alarm, cache, d1, fetch, form, kv, queue, r2, request, service, socket, user, ws,
2+
alarm, assets, cache, d1, fetch, form, kv, queue, r2, request, service, socket, user, ws,
33
SomeSharedData, GLOBAL_STATE,
44
};
55
#[cfg(feature = "http")]
@@ -229,6 +229,7 @@ pub fn make_router<'a>(data: SomeSharedData) -> Router<'a, SomeSharedData> {
229229
Router::with_data(data)
230230
.get("/request", handler_sync!(request::handle_a_request)) // can pass a fn pointer to keep routes tidy
231231
.get_async("/async-request", handler!(request::handle_async_request))
232+
.get_async("/asset/:name", handler!(assets::handle_asset))
232233
.get_async("/websocket", handler!(ws::handle_websocket))
233234
.get_async("/got-close-event", handler!(handle_close_event))
234235
.get_async("/ws-client", handler!(ws::handle_websocket_client))

worker-sandbox/wrangler.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ kv_namespaces = [
1313
SOME_VARIABLE = "some value"
1414
SOME_OBJECT_VARIABLE = { foo = 42, bar = "string" }
1515

16+
[assets]
17+
binding = "ASSETS"
18+
directory = "./public/"
19+
1620
[[services]]
1721
binding = "remote"
1822
service = "remote-service"

0 commit comments

Comments
 (0)