smithy-rs/rust-runtime/Cargo.toml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

25 lines
586 B
TOML
Raw Normal View History

[workspace]
resolver = "2"
members = [
"inlineable",
"aws-smithy-async",
"aws-smithy-checksums",
"aws-smithy-client",
"aws-smithy-eventstream",
"aws-smithy-http",
feat(smithy-http-auth): add api key auth types (#2153) * feat(aws-types): add api key to configuration * chore: set package version to 0.52.0 * feat(aws-smithy-types): create auth types * chore: use auth from smithy types * chore: fix return self type * chore: create http auth definition type * chore: add constructor for http auth definition * chore: ensure properties are not moved * chore: create convenience constructors * chore: add some todo comments * feat: move query writer to aws-smithy-http crate * chore(codegen): expose smithy http tower dependency * chore: remove setters for auth definition * chore: fix logical error for scheme not allowed * chore: add constructor for basic and digest auth * chore: allow equality comparision for api key * Revert "chore: set package version to 0.52.0" This reverts commit da660fcf160e24605ebe082deb6f339213926340. * chore: fix additional references to querywriter * chore: implement from string for api key struct * chore: disallow none api key in sdk config * chore: fix formatting * chore: add unit tests for auth types * chore: add auth api key to external types * chore: make query writer doc hidden * feat: create aws-smithy-http-auth crate * chore: use zeroing for auth api key * chore: use builder pattern for auth definition * chore: restructure http auth package * chore: define default lint warning * chore: include http auth in runtime common list * chore: define setter for optional scheme * chore: should panic while building auth definition * chore: return missing required field error * chore: make few code simplications for api key * Revert "chore: add auth api key to external types" This reverts commit b2318b02304fdeefbe5cb8eba80047ae307d08fa. * chore: revert api key from sdk config * chore: panic on missing required field * Opt out of `clippy::derive_partial_eq_without_eq` --------- Co-authored-by: Eduardo Rodrigues <eduardomourar@users.noreply.github.com> Co-authored-by: John DiSanti <jdisanti@amazon.com>
2023-02-14 07:07:06 +08:00
"aws-smithy-http-auth",
"aws-smithy-http-server",
"aws-smithy-http-server-python",
"aws-smithy-http-tower",
"aws-smithy-json",
"aws-smithy-protocol-test",
"aws-smithy-query",
"aws-smithy-runtime",
"aws-smithy-runtime-api",
"aws-smithy-types",
"aws-smithy-types-convert",
Add `aws-smithy-wasm` crate with WASI http client (#3409) ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here --> This change adds a new crate, `aws-smithy-wasm`, that exports a SDK compatible WASI http client. This is a continuation of the work in #2520 using the now stabilized WASI 0.2.0 interfaces from the [wasi crate](https://crates.io/crates/wasi). This supports, but does not finalize the work for #2087 ## Description <!--- Describe your changes in detail --> Add a new crate, `aws-smithy-wasm` which exports a function `wasi_http_client` that will provide the user with a WASI compatible http client. This client is implemented by using the `wasi::http::outgoing_handler` [ref](https://docs.rs/wasi/0.12.0+wasi-0.2.0/wasi/http/outgoing_handler/index.html) along with some utility implementations of `TryFrom` to transform back and worth between the types from the `http` crate and the `wasi::http` types. It also exports a unit struct `WasmSleep` that impls the `AsyncSleep` trait needed by the SDK. ## Testing <!--- Please describe in detail how you tested your changes --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> This is tested via an integration test in `aws/sdk/integration-tests/webassembly` that uses the wasi http-client to vuild a config and an operation (that is not sent). It is further tested in a new canary (`wasm_canary`) that calls the S3 `list_objects_v2` API. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [X] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._ --------- Co-authored-by: Eduardo Rodrigues <eduardomourar@users.noreply.github.com> Co-authored-by: Eduardo de Moura Rodrigues <16357187+eduardomourar@users.noreply.github.com> Co-authored-by: ysaito1001 <awsaito@amazon.com> Co-authored-by: John DiSanti <jdisanti@amazon.com> Co-authored-by: Russell Cohen <rcoh@amazon.com> Co-authored-by: John DiSanti <john@vinylsquid.com>
2024-02-28 07:40:42 +08:00
"aws-smithy-wasm",
Adds experimental mocks package. (#3308) Publishing is disabled for this package currently. ## Motivation and Context Testing is a huge pain. Currently. This method isn't ideal and can lack accuracy in some cases but in quick and useful for many applications. ## Description New mock package that allows code like this: ```rust let s3_404 = mock!(Client::get_object) .match_requests(|inp| { inp.bucket() == Some("test-bucket") && inp.key() != Some("correct-key") }) .then_http_response(|| { http::Response::builder() .status(400) .body(SdkBody::from(S3_NO_SUCH_KEY)) .unwrap() .try_into() .unwrap() }); let s3_real_object = mock!(Client::get_object) .match_requests(|inp| { inp.bucket() == Some("test-bucket") && inp.key() == Some("correct-key") }) .then_output(|| { GetObjectOutput::builder() .body(ByteStream::from_static(b"test-test-test")) .build() }); let get_object_mocks = MockResponseInterceptor::new() .with_rule(&s3_404) .with_rule(&s3_real_object); let s3 = aws_sdk_s3::Client::from_conf( Config::builder() .with_test_defaults() .region(Region::new("us-east-1")) .interceptor(get_object_mocks) .build(), ); ``` There is no binary level mocking and this is completely typesafe. IDE inference works properly as well. The crimes that were committed were small and self-contained. ## Testing There is a unit test and it works. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [ ] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [ ] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
2024-01-12 04:02:28 +08:00
"aws-smithy-mocks-experimental",
"aws-smithy-xml",
]