Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new service builder machinery #1679

Merged
merged 10 commits into from
Aug 31, 2022
Merged

Conversation

hlbarber
Copy link
Contributor

Motivation and Context

#1620

Description

  • Add protocol specific FromRequest and FromParts.
  • Add OperationShape trait to model Smithy operations.
  • Add Handler and OperationService traits.
  • Add Upgrade Service and UpgradeLayer Layer.

@github-actions
Copy link

A new generated diff is ready to view.

A new doc preview is ready to view.

@hlbarber hlbarber marked this pull request as ready for review August 27, 2022 00:08
@hlbarber hlbarber requested a review from a team as a code owner August 27, 2022 00:08
@smithy-lang smithy-lang deleted a comment from github-actions bot Aug 30, 2022
@github-actions
Copy link

A new generated diff is ready to view.

A new doc preview is ready to view.

@hlbarber hlbarber enabled auto-merge (squash) August 31, 2022 13:15
@hlbarber hlbarber force-pushed the harryb/add-service-builder-runtime branch from c3d0445 to 7eb8e1a Compare August 31, 2022 13:21
@github-actions
Copy link

A new generated diff is ready to view.

A new doc preview is ready to view.

@hlbarber hlbarber disabled auto-merge August 31, 2022 13:51
@hlbarber hlbarber enabled auto-merge (squash) August 31, 2022 13:51
@github-actions
Copy link

A new generated diff is ready to view.

A new doc preview is ready to view.

@hlbarber hlbarber merged commit 66f96a5 into main Aug 31, 2022
@hlbarber hlbarber deleted the harryb/add-service-builder-runtime branch August 31, 2022 14:39
hlbarber added a commit that referenced this pull request Sep 12, 2022
* Add `ServerProtocol` interface to allow for server side protocol specific methods.

* Make public the structs merged in #1679.

* Add `ServerOperationGenerator`, which generates a ZST and implements `OperationShape` on it.

* Add `ServerServiceGeneratorV2`, which generates the service newtype around a router and a service builder.

* Add `hidden` argument to `RustModule` which allows modules to be marked with `#[doc(hidden)]`.

* Add `BuildModifier` trait to provide a common interface for extending service builders.

* Add `Upgradable` trait to simplifying bounds when upgrading from an `Operation` to a HTTP service.

* Add `FromRequest`, `FromParts`, and `IntoResponse` implementations.

* Make `RoutingService` accept general body types `B` for the inner services `http::Response<B>`.

* Use new service builder in protocol tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants