Documentation
¶
Index ¶
- func ExtractElement(payload []byte, name string) ([]byte, error)
- func GetProtocolErrorInfo(payload []byte) (code, message string, errorBody []byte, err error)
- type ShapeDeserializer
- func (d *ShapeDeserializer) ReadBigFloat(_ *smithy.Schema, _ *big.Float) error
- func (d *ShapeDeserializer) ReadBigInt(_ *smithy.Schema, _ *big.Int) error
- func (d *ShapeDeserializer) ReadBlob(s *smithy.Schema, v *[]byte) error
- func (d *ShapeDeserializer) ReadBool(_ *smithy.Schema, v *bool) error
- func (d *ShapeDeserializer) ReadDocument(_ *smithy.Schema, _ *document.Value) error
- func (d *ShapeDeserializer) ReadFloat32(s *smithy.Schema, v *float32) error
- func (d *ShapeDeserializer) ReadFloat64(s *smithy.Schema, v *float64) error
- func (d *ShapeDeserializer) ReadInt8(s *smithy.Schema, v *int8) error
- func (d *ShapeDeserializer) ReadInt16(s *smithy.Schema, v *int16) error
- func (d *ShapeDeserializer) ReadInt32(s *smithy.Schema, v *int32) error
- func (d *ShapeDeserializer) ReadInt64(s *smithy.Schema, v *int64) error
- func (d *ShapeDeserializer) ReadList(s *smithy.Schema) error
- func (d *ShapeDeserializer) ReadListItem(_ *smithy.Schema) (bool, error)
- func (d *ShapeDeserializer) ReadMap(s *smithy.Schema) error
- func (d *ShapeDeserializer) ReadMapKey(ks *smithy.Schema) (string, bool, error)
- func (d *ShapeDeserializer) ReadNil(_ *smithy.Schema) (bool, error)
- func (d *ShapeDeserializer) ReadString(_ *smithy.Schema, v *string) error
- func (d *ShapeDeserializer) ReadStruct(s *smithy.Schema) error
- func (d *ShapeDeserializer) ReadStructMember() (*smithy.Schema, error)
- func (d *ShapeDeserializer) ReadTime(schema *smithy.Schema, v *time.Time) error
- func (d *ShapeDeserializer) ReadUnion(s *smithy.Schema) (*smithy.Schema, error)
- type ShapeSerializer
- func (s *ShapeSerializer) Bytes() []byte
- func (s *ShapeSerializer) CloseList()
- func (s *ShapeSerializer) CloseMap()
- func (s *ShapeSerializer) CloseStruct()
- func (s *ShapeSerializer) CloseUnion()
- func (s *ShapeSerializer) WriteBigFloat(_ *smithy.Schema, _ *big.Float)
- func (s *ShapeSerializer) WriteBigInt(_ *smithy.Schema, _ *big.Int)
- func (s *ShapeSerializer) WriteBlob(schema *smithy.Schema, v []byte)
- func (s *ShapeSerializer) WriteBool(schema *smithy.Schema, v bool)
- func (s *ShapeSerializer) WriteDocument(schema *smithy.Schema, v document.Value)
- func (s *ShapeSerializer) WriteFloat32(schema *smithy.Schema, v float32)
- func (s *ShapeSerializer) WriteFloat64(schema *smithy.Schema, v float64)
- func (s *ShapeSerializer) WriteInt8(schema *smithy.Schema, v int8)
- func (s *ShapeSerializer) WriteInt16(schema *smithy.Schema, v int16)
- func (s *ShapeSerializer) WriteInt32(schema *smithy.Schema, v int32)
- func (s *ShapeSerializer) WriteInt64(schema *smithy.Schema, v int64)
- func (s *ShapeSerializer) WriteKey(schema *smithy.Schema, k string)
- func (s *ShapeSerializer) WriteList(schema *smithy.Schema)
- func (s *ShapeSerializer) WriteMap(schema *smithy.Schema)
- func (s *ShapeSerializer) WriteNil(schema *smithy.Schema)
- func (s *ShapeSerializer) WriteString(schema *smithy.Schema, v string)
- func (s *ShapeSerializer) WriteStruct(schema *smithy.Schema)
- func (s *ShapeSerializer) WriteTime(schema *smithy.Schema, v time.Time)
- func (s *ShapeSerializer) WriteUnion(schema, variant *smithy.Schema)
- type ShapeSerializerOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractElement ¶
ExtractElement finds the first occurrence of the named element in the XML and returns it as raw bytes, including the element's opening and closing tags.
This is used to extract both success and error responses from the protocol XML that wraps them.
For example for awsquery, with an operation output shape named XmlListsResult:
<XmlListsResponse> <XmlListsResult> <member1>foo</member1> ... </XmlListsResult> </XmlListsResponse>
ExtractElement(payload, "XmlListsResult") yields:
<XmlListsResult><member1>foo</member1>...</XmlListsResult>
ExtractElement will forward the io.EOF returned by the underlying decoder if the target element is not found, which the caller can index on if they're looking for an optional element.
func GetProtocolErrorInfo ¶
GetProtocolErrorInfo extracts Smithy error details from a query-protocol response.
This version of GetProtocolErrorInfo also handles the extraction of the modeled error body from the protocol wrapper so the caller can operate on it directly.
Types ¶
type ShapeDeserializer ¶
type ShapeDeserializer struct {
// contains filtered or unexported fields
}
ShapeDeserializer implements unmarshaling of XML into Smithy shapes.
ShapeDeserializer consumes whole XML — the payload handed to NewShapeDeserializer must include the outermost tag that opens the shape being read. This is because the deserializer retains the outer StartElement so @xmlAttribute members can draw from its attributes.
For example, an awsquery response body looks like this:
<[OperationName]Response>
<[OperationName]Result>
<Member1>...</Member1>
<Member2>...</Member2>
...
<MemberN>...</MemberN>
</[OperationName]Result>
<ResponseMetadata>
...
</ResponseMetadata>
</[OperationName]Response>
The deserializer must receive the Result element including its opening and closing tags — that is:
<[OperationName]Result>
<Member1>...</Member1>
...
<MemberN>...</MemberN>
</[OperationName]Result>
The outer Response wrapper must not be included.
func NewShapeDeserializer ¶
func NewShapeDeserializer(p []byte) *ShapeDeserializer
NewShapeDeserializer returns a new ShapeDeserializer.
func (*ShapeDeserializer) ReadBigFloat ¶
ReadBigFloat is unimplemented and will return an error.
func (*ShapeDeserializer) ReadBigInt ¶
ReadBigInt is unimplemented and will return an error.
func (*ShapeDeserializer) ReadBlob ¶
func (d *ShapeDeserializer) ReadBlob(s *smithy.Schema, v *[]byte) error
ReadBlob implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadBool ¶
func (d *ShapeDeserializer) ReadBool(_ *smithy.Schema, v *bool) error
ReadBool implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadDocument ¶
ReadDocument is unimplemented for XML.
func (*ShapeDeserializer) ReadFloat32 ¶
func (d *ShapeDeserializer) ReadFloat32(s *smithy.Schema, v *float32) error
ReadFloat32 implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadFloat64 ¶
func (d *ShapeDeserializer) ReadFloat64(s *smithy.Schema, v *float64) error
ReadFloat64 implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadInt8 ¶
func (d *ShapeDeserializer) ReadInt8(s *smithy.Schema, v *int8) error
ReadInt8 implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadInt16 ¶
func (d *ShapeDeserializer) ReadInt16(s *smithy.Schema, v *int16) error
ReadInt16 implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadInt32 ¶
func (d *ShapeDeserializer) ReadInt32(s *smithy.Schema, v *int32) error
ReadInt32 implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadInt64 ¶
func (d *ShapeDeserializer) ReadInt64(s *smithy.Schema, v *int64) error
ReadInt64 implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadList ¶
func (d *ShapeDeserializer) ReadList(s *smithy.Schema) error
ReadList implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadListItem ¶
func (d *ShapeDeserializer) ReadListItem(_ *smithy.Schema) (bool, error)
ReadListItem implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadMap ¶
func (d *ShapeDeserializer) ReadMap(s *smithy.Schema) error
ReadMap implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadMapKey ¶
ReadMapKey implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadNil ¶
func (d *ShapeDeserializer) ReadNil(_ *smithy.Schema) (bool, error)
ReadNil implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadString ¶
func (d *ShapeDeserializer) ReadString(_ *smithy.Schema, v *string) error
ReadString implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadStruct ¶
func (d *ShapeDeserializer) ReadStruct(s *smithy.Schema) error
ReadStruct implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadStructMember ¶
func (d *ShapeDeserializer) ReadStructMember() (*smithy.Schema, error)
ReadStructMember implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadTime ¶
ReadTime implements smithy.ShapeDeserializer.
func (*ShapeDeserializer) ReadUnion ¶
ReadUnion implements smithy.ShapeDeserializer.
type ShapeSerializer ¶
type ShapeSerializer struct {
// contains filtered or unexported fields
}
ShapeSerializer implements marshaling of Smithy shapes to XML.
func NewShapeSerializer ¶
func NewShapeSerializer(opts ...func(*ShapeSerializerOptions)) *ShapeSerializer
NewShapeSerializer creates a new ShapeSerializer.
func (*ShapeSerializer) Bytes ¶
func (s *ShapeSerializer) Bytes() []byte
Bytes returns the serialized XML bytes.
func (*ShapeSerializer) CloseList ¶
func (s *ShapeSerializer) CloseList()
CloseList implements smithy.ShapeSerializer.
func (*ShapeSerializer) CloseMap ¶
func (s *ShapeSerializer) CloseMap()
CloseMap implements smithy.ShapeSerializer.
func (*ShapeSerializer) CloseStruct ¶
func (s *ShapeSerializer) CloseStruct()
CloseStruct implements smithy.ShapeSerializer.
func (*ShapeSerializer) CloseUnion ¶
func (s *ShapeSerializer) CloseUnion()
CloseUnion implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteBigFloat ¶
func (s *ShapeSerializer) WriteBigFloat(_ *smithy.Schema, _ *big.Float)
WriteBigFloat is unimplemented.
func (*ShapeSerializer) WriteBigInt ¶
func (s *ShapeSerializer) WriteBigInt(_ *smithy.Schema, _ *big.Int)
WriteBigInt is unimplemented.
func (*ShapeSerializer) WriteBlob ¶
func (s *ShapeSerializer) WriteBlob(schema *smithy.Schema, v []byte)
WriteBlob implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteBool ¶
func (s *ShapeSerializer) WriteBool(schema *smithy.Schema, v bool)
WriteBool implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteDocument ¶
func (s *ShapeSerializer) WriteDocument(schema *smithy.Schema, v document.Value)
WriteDocument is unimplemented for XML.
func (*ShapeSerializer) WriteFloat32 ¶
func (s *ShapeSerializer) WriteFloat32(schema *smithy.Schema, v float32)
WriteFloat32 implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteFloat64 ¶
func (s *ShapeSerializer) WriteFloat64(schema *smithy.Schema, v float64)
WriteFloat64 implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteInt8 ¶
func (s *ShapeSerializer) WriteInt8(schema *smithy.Schema, v int8)
WriteInt8 implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteInt16 ¶
func (s *ShapeSerializer) WriteInt16(schema *smithy.Schema, v int16)
WriteInt16 implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteInt32 ¶
func (s *ShapeSerializer) WriteInt32(schema *smithy.Schema, v int32)
WriteInt32 implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteInt64 ¶
func (s *ShapeSerializer) WriteInt64(schema *smithy.Schema, v int64)
WriteInt64 implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteKey ¶
func (s *ShapeSerializer) WriteKey(schema *smithy.Schema, k string)
WriteKey implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteList ¶
func (s *ShapeSerializer) WriteList(schema *smithy.Schema)
WriteList implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteMap ¶
func (s *ShapeSerializer) WriteMap(schema *smithy.Schema)
WriteMap implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteNil ¶
func (s *ShapeSerializer) WriteNil(schema *smithy.Schema)
WriteNil implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteString ¶
func (s *ShapeSerializer) WriteString(schema *smithy.Schema, v string)
WriteString implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteStruct ¶
func (s *ShapeSerializer) WriteStruct(schema *smithy.Schema)
WriteStruct implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteTime ¶
func (s *ShapeSerializer) WriteTime(schema *smithy.Schema, v time.Time)
WriteTime implements smithy.ShapeSerializer.
func (*ShapeSerializer) WriteUnion ¶
func (s *ShapeSerializer) WriteUnion(schema, variant *smithy.Schema)
WriteUnion implements smithy.ShapeSerializer.
type ShapeSerializerOptions ¶
ShapeSerializerOptions configures ShapeSerializer.