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