Loading Cargo.lock +88 −16 Original line number Diff line number Diff line Loading @@ -1872,9 +1872,9 @@ dependencies = [ [[package]] name = "js-sys" version = "0.3.78" version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" dependencies = [ "once_cell", "wasm-bindgen", Loading Loading @@ -1988,6 +1988,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minicov" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b" dependencies = [ "cc", "walkdir", ] [[package]] name = "minimal-lexical" version = "0.2.1" Loading Loading @@ -2928,6 +2938,25 @@ dependencies = [ "tracing-subscriber", ] [[package]] name = "s3s-wasm" version = "0.0.0" dependencies = [ "futures", "http 1.3.1", "s3s", "wasm-bindgen-test", ] [[package]] name = "same-file" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ "winapi-util", ] [[package]] name = "schannel" version = "0.1.27" Loading Loading @@ -3642,6 +3671,16 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] name = "walkdir" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", ] [[package]] name = "want" version = "0.3.1" Loading @@ -3668,9 +3707,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" dependencies = [ "cfg-if", "once_cell", Loading @@ -3681,9 +3720,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" dependencies = [ "bumpalo", "log", Loading @@ -3695,9 +3734,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" version = "0.4.51" version = "0.4.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" dependencies = [ "cfg-if", "js-sys", Loading @@ -3708,9 +3747,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" dependencies = [ "quote", "wasm-bindgen-macro-support", Loading @@ -3718,9 +3757,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", Loading @@ -3731,13 +3770,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-bindgen-test" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e381134e148c1062f965a42ed1f5ee933eef2927c3f70d1812158f711d39865" dependencies = [ "js-sys", "minicov", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test-macro", ] [[package]] name = "wasm-bindgen-test-macro" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b673bca3298fe582aeef8352330ecbad91849f85090805582400850f8270a2e8" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "wasm-streams" version = "0.4.2" Loading @@ -3753,9 +3816,9 @@ dependencies = [ [[package]] name = "web-sys" version = "0.3.78" version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" dependencies = [ "js-sys", "wasm-bindgen", Loading Loading @@ -3792,6 +3855,15 @@ dependencies = [ "rustix", ] [[package]] name = "winapi-util" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ "windows-sys 0.60.2", ] [[package]] name = "windows-core" version = "0.61.2" Loading crates/s3s-wasm/Cargo.toml 0 → 100644 +19 −0 Original line number Diff line number Diff line [package] name = "s3s-wasm" version = "0.0.0" edition.workspace = true repository.workspace = true license.workspace = true rust-version.workspace = true publish = false [dependencies] futures = "0.3.31" http = "1.3.1" s3s = { version = "0.12.0-rc.2", path = "../s3s", default-features = false } [lints] workspace = true [dev-dependencies] wasm-bindgen-test = "0.3.54" crates/s3s-wasm/src/lib.rs 0 → 100644 +30 −0 Original line number Diff line number Diff line #[cfg(test)] mod tests { use s3s::S3; use s3s::service::S3ServiceBuilder; use wasm_bindgen_test::wasm_bindgen_test; struct DummyS3 {} impl S3 for DummyS3 {} #[wasm_bindgen_test] fn test_dummy_call() { let s3 = DummyS3 {}; let service = S3ServiceBuilder::new(s3).build(); let req = { let mut req = s3s::HttpRequest::default(); *req.method_mut() = http::Method::GET; *req.uri_mut() = "http://localhost/".parse().unwrap(); req }; let result = futures::executor::block_on(service.call(req)); assert!(result.is_ok()); let resp = result.unwrap(); assert_eq!(resp.status(), 501); // Not Implemented } } crates/s3s/src/lib.rs +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ mod s3_op; mod s3_trait; mod sig_v2; mod sig_v4; mod time; pub mod access; pub mod auth; Loading crates/s3s/src/service.rs +2 −2 Original line number Diff line number Diff line Loading @@ -89,12 +89,12 @@ impl S3Service { #[tracing::instrument( level = "debug", skip(self, req), fields(start_time=?time::OffsetDateTime::now_utc()) fields(start_time=?crate::time::now_utc()) )] pub async fn call(&self, req: HttpRequest) -> Result<HttpResponse, HttpError> { debug!(?req); let t0 = std::time::Instant::now(); let t0 = crate::time::Instant::now(); let mut req = Request::from(req); Loading Loading
Cargo.lock +88 −16 Original line number Diff line number Diff line Loading @@ -1872,9 +1872,9 @@ dependencies = [ [[package]] name = "js-sys" version = "0.3.78" version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" dependencies = [ "once_cell", "wasm-bindgen", Loading Loading @@ -1988,6 +1988,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minicov" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b" dependencies = [ "cc", "walkdir", ] [[package]] name = "minimal-lexical" version = "0.2.1" Loading Loading @@ -2928,6 +2938,25 @@ dependencies = [ "tracing-subscriber", ] [[package]] name = "s3s-wasm" version = "0.0.0" dependencies = [ "futures", "http 1.3.1", "s3s", "wasm-bindgen-test", ] [[package]] name = "same-file" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ "winapi-util", ] [[package]] name = "schannel" version = "0.1.27" Loading Loading @@ -3642,6 +3671,16 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] name = "walkdir" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", ] [[package]] name = "want" version = "0.3.1" Loading @@ -3668,9 +3707,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" dependencies = [ "cfg-if", "once_cell", Loading @@ -3681,9 +3720,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" dependencies = [ "bumpalo", "log", Loading @@ -3695,9 +3734,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" version = "0.4.51" version = "0.4.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" dependencies = [ "cfg-if", "js-sys", Loading @@ -3708,9 +3747,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" dependencies = [ "quote", "wasm-bindgen-macro-support", Loading @@ -3718,9 +3757,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", Loading @@ -3731,13 +3770,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" version = "0.2.101" version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-bindgen-test" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e381134e148c1062f965a42ed1f5ee933eef2927c3f70d1812158f711d39865" dependencies = [ "js-sys", "minicov", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test-macro", ] [[package]] name = "wasm-bindgen-test-macro" version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b673bca3298fe582aeef8352330ecbad91849f85090805582400850f8270a2e8" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "wasm-streams" version = "0.4.2" Loading @@ -3753,9 +3816,9 @@ dependencies = [ [[package]] name = "web-sys" version = "0.3.78" version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" dependencies = [ "js-sys", "wasm-bindgen", Loading Loading @@ -3792,6 +3855,15 @@ dependencies = [ "rustix", ] [[package]] name = "winapi-util" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ "windows-sys 0.60.2", ] [[package]] name = "windows-core" version = "0.61.2" Loading
crates/s3s-wasm/Cargo.toml 0 → 100644 +19 −0 Original line number Diff line number Diff line [package] name = "s3s-wasm" version = "0.0.0" edition.workspace = true repository.workspace = true license.workspace = true rust-version.workspace = true publish = false [dependencies] futures = "0.3.31" http = "1.3.1" s3s = { version = "0.12.0-rc.2", path = "../s3s", default-features = false } [lints] workspace = true [dev-dependencies] wasm-bindgen-test = "0.3.54"
crates/s3s-wasm/src/lib.rs 0 → 100644 +30 −0 Original line number Diff line number Diff line #[cfg(test)] mod tests { use s3s::S3; use s3s::service::S3ServiceBuilder; use wasm_bindgen_test::wasm_bindgen_test; struct DummyS3 {} impl S3 for DummyS3 {} #[wasm_bindgen_test] fn test_dummy_call() { let s3 = DummyS3 {}; let service = S3ServiceBuilder::new(s3).build(); let req = { let mut req = s3s::HttpRequest::default(); *req.method_mut() = http::Method::GET; *req.uri_mut() = "http://localhost/".parse().unwrap(); req }; let result = futures::executor::block_on(service.call(req)); assert!(result.is_ok()); let resp = result.unwrap(); assert_eq!(resp.status(), 501); // Not Implemented } }
crates/s3s/src/lib.rs +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ mod s3_op; mod s3_trait; mod sig_v2; mod sig_v4; mod time; pub mod access; pub mod auth; Loading
crates/s3s/src/service.rs +2 −2 Original line number Diff line number Diff line Loading @@ -89,12 +89,12 @@ impl S3Service { #[tracing::instrument( level = "debug", skip(self, req), fields(start_time=?time::OffsetDateTime::now_utc()) fields(start_time=?crate::time::now_utc()) )] pub async fn call(&self, req: HttpRequest) -> Result<HttpResponse, HttpError> { debug!(?req); let t0 = std::time::Instant::now(); let t0 = crate::time::Instant::now(); let mut req = Request::from(req); Loading