xml

package
v1.27.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractElement

func ExtractElement(payload []byte, name string) ([]byte, error)

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

func GetProtocolErrorInfo(payload []byte) (code, message string, errorBody []byte, err error)

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

func (d *ShapeDeserializer) ReadBigFloat(_ *smithy.Schema, _ *big.Float) error

ReadBigFloat is unimplemented and will return an error.

func (*ShapeDeserializer) ReadBigInt

func (d *ShapeDeserializer) ReadBigInt(_ *smithy.Schema, _ *big.Int) error

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

func (d *ShapeDeserializer) ReadDocument(_ *smithy.Schema, _ *document.Value) error

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

func (d *ShapeDeserializer) ReadMapKey(ks *smithy.Schema) (string, bool, error)

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

func (d *ShapeDeserializer) ReadTime(schema *smithy.Schema, v *time.Time) error

ReadTime implements smithy.ShapeDeserializer.

func (*ShapeDeserializer) ReadUnion

func (d *ShapeDeserializer) ReadUnion(s *smithy.Schema) (*smithy.Schema, error)

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

type ShapeSerializerOptions struct {
	RootNamespaceURI    string
	RootNamespacePrefix string
}

ShapeSerializerOptions configures ShapeSerializer.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL