src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

doc.go (2415B)


      1 // Package customizations provides customizations for the Amazon Route53 API client.
      2 //
      3 // This package provides support for following customizations
      4 //
      5 //	 Process Response Middleware: used for custom error deserializing
      6 //		Sanitize URL Middleware: used for sanitizing url with HostedZoneID member
      7 //
      8 // # Process Response Middleware
      9 //
     10 // Route53 operation "ChangeResourceRecordSets" can have an error response returned in
     11 // a slightly different format. This customization is only applicable to
     12 // ChangeResourceRecordSets operation of Route53.
     13 //
     14 // Here's a sample error response:
     15 //
     16 //	<?xml version="1.0" encoding="UTF-8"?>
     17 //	<InvalidChangeBatch xmlns="https://route53.amazonaws.com/doc/2013-04-01/">
     18 //	    <Messages>
     19 //	        <Message>Tried to create resource record set duplicate.example.com. type A, but it already exists</Message>
     20 //	    </Messages>
     21 //	</InvalidChangeBatch>
     22 //
     23 // The processResponse middleware customizations enables SDK to check for an error
     24 // response starting with "InvalidChangeBatch" tag prior to deserialization.
     25 //
     26 // As this check in error response needs to be performed earlier than response
     27 // deserialization. Since the behavior of Deserialization is in
     28 // reverse order to the other stack steps its easier to consider that "after" means
     29 // "before".
     30 //
     31 //	Middleware layering:
     32 //
     33 //	HTTP Response -> process response error -> deserialize
     34 //
     35 // In case the returned error response has `InvalidChangeBatch` format, the error is
     36 // deserialized and returned. The operation deserializer does not attempt to deserialize
     37 // as an error is returned by the process response error middleware.
     38 //
     39 // # Sanitize URL Middleware
     40 //
     41 // Route53 operations may return a response containing an id member value appended with
     42 // a string, for example. an id 1234 may be returned as 'foo/1234'. While round-tripping such response
     43 // id value into another operation request, SDK must strip out the additional prefix if any.
     44 // The Sanitize URL Middleware strips out such additionally prepended string to the id.
     45 //
     46 // The Id member with such prepended strings target shape 'ResourceId' or 'DelegationSetId'.
     47 // This customization thus is applied only for operations with id's targeting those target shapes.
     48 // This customization has to be applied before the input is serialized.
     49 //
     50 //	Middleware layering:
     51 //
     52 //	Input -> Sanitize URL Middleware -> serialize -> next
     53 package customizations