Expand description
Schema-driven ServerProtocol implementations and protocol registration.
ProtocolRegistry::BUILTIN documents the built-in claim priority order, how custom
protocols fit into it, and its effect on ambiguous requests.
Each protocol frames modeled errors with its discriminator:
| Protocol | Discriminator |
|---|---|
| restJson1 | x-amzn-errortype header, shape name only; none in body |
| awsJson1.0 | __type body member, full namespace#Name, written last |
| awsJson1.1 | __type body member, shape name only, written last |
| rpcv2Cbor | __type body member, full namespace#Name, written first |
| restXml | none |
@httpHeader-bound error members are split out of the body on the REST protocols.
Structs§
- AwsJson1_
0 - Stateful schema-driven AWS JSON 1.0 protocol implementation.
Defaults to skipping escape validation in discarded strings.
Set
customizationConfig.protocolsfor this protocol to{"validateSkippedValues":true}to validate escape syntax without decoding Unicode escapes. UTF-8, unescaped control characters, and structural syntax remain checked in either mode. - AwsJson1_
1 - Stateful schema-driven AWS JSON 1.1 protocol implementation.
Defaults to skipping escape validation in discarded strings.
Set
customizationConfig.protocolsfor this protocol to{"validateSkippedValues":true}to validate escape syntax without decoding Unicode escapes. UTF-8, unescaped control characters, and structural syntax remain checked in either mode. - Event
Stream Framing - The event-frame capability of a metadata-routed protocol, as plain data.
- Protocol
Build Context - Everything a protocol factory sees.
- Protocol
Registration - A single protocol’s entry in a
ProtocolRegistry. - Protocol
Registry - A const collection of
ProtocolRegistrations. - Rest
Json1 - Stateful schema-driven restJson1 protocol implementation.
Defaults to skipping escape validation in discarded strings.
Set
customizationConfig.protocolsfor this protocol to{"validateSkippedValues":true}to validate escape syntax without decoding Unicode escapes. UTF-8, unescaped control characters, and structural syntax remain checked in either mode. - RestXml
- Stateful schema-driven restXml protocol implementation.
- RpcV2
Cbor - Stateful schema-driven Smithy RPC v2 CBOR protocol implementation.
- Shared
Server Protocol - Shared, erased server protocol selected by routing.
Enums§
- Body
Directive - Whether request deserialization needs the body to be collected.
- Protocol
Order - Places a protocol relative to another protocol, by shape ID, in a multi-protocol service’s claim order. Constraints resolve transitively over every registered protocol, so a constraint against a protocol the service does not serve still orders the ones it does.
- Request
Body Collection Error
Traits§
- Body
Routed Protocol - A
ServerProtocolthat reads the request body to select operations. - Metadata
Routed Protocol - A
ServerProtocolthat selects operations from request metadata alone. - Server
Protocol - Schema-driven serialization for one protocol, keyed on struct schemas.
Functions§
Type Aliases§
- Protocol
Factory - Builds a protocol from its registered configuration into the erased handle carrying its
routing kind. Produced by
ProtocolRegistration::metadata_routedandProtocolRegistration::body_routed, never written by hand.