Parameterize `Plugin` by service rather than protocol (#2772)
## Motivation and Context Closes https://github.com/awslabs/smithy-rs/issues/1839 Currently, `Plugin` is parameterized by protocol and operation. To improve symmetry, extensibility and uniformity we switch this to be parameterized by service instead. The protocol can still be recovered via the `type Protocol` associated type on `ServiceShape`. ## Description - Add `ServiceShape` trait, encoding the properties of a Smithy service. - Change `Plugin<Protocol, Operation, S>` to `Plugin<Service, Operation, S>`. - Add `FilterByOperation` and `filter_by_operation` `Plugin`s.
Loading
Please register or sign in to comment