david-perez
david-perez
And hence pascal case operation error struct names too, like we're currently doing with operation input and output struct names. Fixes #1826. ## Checklist - [ ] I have updated...
Smithy `service` shapes can be annotated with multiple [protocol traits](https://smithy.io/2.0/spec/protocol-traits.html#smithy-api-protocoldefinition-trait). ```smithy $version: "2" namespace smithy.example use aws.protocols#restJson1 use aws.protocols#awsJson1_1 @restJson1 @awsJson1_1 service MyService { version: "2023-09-12" } ``` In theory...
[Smithy RPC v2 CBOR protocol](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html) is a new protocol that has been added to Smithy 1.47 ([release notes](https://github.com/smithy-lang/smithy/blob/main/CHANGELOG.md#1470-2024-03-28)). This issue tracks all subtasks needed to add support for the protocol...
We're currently creating one `OnceCell` per operation backing a static `mime::Mime` type for the operation's expected (if present) client `Accept` header value, only to then decompose it into type +...
Currently, both the client and the server only generate code for shapes that are within the service closure. A strength of Smithy is how easy it is to import and...
Until server-side multi-protocol support lands (see https://github.com/awslabs/smithy-rs/issues/2979), we should abort code generation when we encounter a model where the `service` shape is annotated with [multiple protocol traits](https://smithy.io/2.0/spec/protocol-traits.html#smithy-api-protocoldefinition-trait). ```smithy $version: "2"...
We already `--deny warnings` in: - integration tests (crates generated by the `codegen-{core,client,server}-test` Gradle subprojects), - `{client,server}IntegrationTest`s; and - `RustWriter.compileAndTest`, via the `RUSTFLAGS` [we bake in the CI Docker image](https://github.com/smithy-lang/smithy-rs/blob/0f9ada693d7dbafef6a34400399821a6a27e9e68/tools/ci-build/Dockerfile#L194-L206)...
We should run the tests in CI. We could spin up the Pokémon service and run each binary example against it in serial.
We use `*preludeScope` in `rustTemplate` and friends. We write code like: ``` rustTemplate("#{Vec}::new()", *preludeScope) ``` I think that generating code in Kotlin should feel as similar as possible to directly...
The [design book](https://awslabs.github.io/smithy-rs/design/) we heavily link to as documentation to users reflects the state of the repository at `HEAD`. But users are usually not consuming `HEAD`, but rather a concrete...