david-perez

Results 82 issues of david-perez

We code-generate Nom parsers to parse URI request paths. The number of labels that can appear is limited to 21, because of [`tuple`](https://docs.rs/nom/latest/nom/sequence/fn.tuple.html). If someone models a route with more...

server

When generating an HTTP request test case, we code-generate an operation handler that returns "dummy" operation output, just so the test compiles. We do so very naively by filling out...

This bug affects both clients and servers. Consider: ```smithy $version: "2.0" namespace com.amazonaws.simple use aws.protocols#restJson1 use smithy.test#httpRequestTests use smithy.test#httpResponseTests @restJson1 service SimpleService { operations: [ Operation ] } @http(uri: "/operation",...

bug
breaking-change
server
client

When there is operation input: ```smithy $version: "2.0" namespace com.amazonaws.simple use aws.protocols#restJson1 use smithy.test#httpMalformedRequestTests @restJson1 service SimpleService { operations: [ Operation ] } @http(uri: "/operation", method: "POST") operation Operation {...

bug
good first issue
server

We're currently serializing server framework-level errors manually. We're doing this for each protocol. For example, for `restJson1`: https://github.com/smithy-lang/smithy-rs/blob/b74887861280ec475db984f9a7603eebb4d959b9/rust-runtime/aws-smithy-http-server/src/protocol/rest_json_1/runtime_error.rs#L92-L108 Instead of manually writing this serialization code, we should model these errors...

server

Currently, we re-parse expected request `Content-Type` header values into `mime::Mime`s every time we service a request. It'd be more efficient if `aws_smithy_http_server::protocol::content_type_header_classifier_smithy` took in directly a `const` `Mime` type. Note...

good first issue
server

In the server we have this [handy `OperationShape` trait](https://docs.rs/aws-smithy-http-server/latest/aws_smithy_http_server/operation/trait.OperationShape.html) that we implement on operation shapes. Among other things, it has a `const ID` that allows one to retrieve the shape...

We add [`#[non_exhaustive]`](https://doc.rust-lang.org/reference/attributes/type_system.html) to client structures and builders, despite their fields being `pub(crate)`, to prevent users from instantiating them using struct expressions in the case where they don't contain any...

server

[`metrics_util::layers::RouterBuilder::add_route`](https://docs.rs/metrics-util/latest/metrics_util/layers/struct.RouterBuilder.html#method.add_route) takes ownership of the recorder, which means it can only handle one pattern/mask combination. Could we make it take in an `Iterator` of patterns, or an `Arc`?

C-core
E-simple
T-ergonomics