Move `Message`, `Header`, `HeaderValue`, and `StrBytes` from...
Move `Message`, `Header`, `HeaderValue`, and `StrBytes` from `aws-smithy-eventstream` to `aws-smithy-types` (#3139) ## Motivation and Context Fixes the following statement in https://github.com/awslabs/smithy-rs/pull/3114 > A notable breaking change is the error type of the new recv method. Previously, it was [SdkError<E, RawMessage>>](https://docs.rs/aws-smithy-http/0.57.0/aws_smithy_http/event_stream/struct.Receiver.html#method.recv) but it is now a BoxError. This means that upon an event receive error, customers can only show what the error is, but not match on it and take some actions. so that the `recv` method on a new-type wrapper `aws_smithy_http::event_stream::Receiver` can expose `SdkError<E, RawMessage>>` in public API. It is the responsibility of the above PR to move [RawMessage](https://github.com/awslabs/smithy-rs/blob/c7f0d5dc33937d65841d74b5b828cc77ed1d2db4/rust-runtime/aws-smithy-http/src/event_stream/receiver.rs#L92-L98) from `aws-smithy-http` to `aws-smithy-types` but doing so first requires `Message` to be moved to `aws-smithy-types`, hence this PR. ## Description Moving `Message` to `aws-smithy-types` also requires moving the types it depends upon, namely `Header`, `HederValue`, and `StrBytes`. However, their serialization/deserialization methods (`read_from` and `write_to`) remain in `aws-smithy-eventstream` and they are converted to free functions, with the aim of moving things as minimally as possible. `aws-smithy-eventstream` has fuzz testing. It previously implemented the `Arbitrary` trait for moved types, but since they are now in `aws-smithy-types`, we need to have newtypes for them to enable the trait due to the orphan rules. A newly added module `aws-smithy-eventstream::arbitrary` is exactly for that purpose. ## Testing Relied on the existing tests. ## 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._
Loading
Please register or sign in to comment