31 lines
723 B
Go
31 lines
723 B
Go
package route53
|
|
|
|
import (
|
|
"regexp"
|
|
|
|
"github.com/aws/aws-sdk-go/aws/client"
|
|
"github.com/aws/aws-sdk-go/aws/request"
|
|
"github.com/aws/aws-sdk-go/private/protocol/restxml"
|
|
)
|
|
|
|
func init() {
|
|
initClient = func(c *client.Client) {
|
|
c.Handlers.Build.PushBack(sanitizeURL)
|
|
}
|
|
|
|
initRequest = func(r *request.Request) {
|
|
switch r.Operation.Name {
|
|
case opChangeResourceRecordSets:
|
|
r.Handlers.UnmarshalError.Remove(restxml.UnmarshalErrorHandler)
|
|
r.Handlers.UnmarshalError.PushBack(unmarshalChangeResourceRecordSetsError)
|
|
}
|
|
}
|
|
}
|
|
|
|
var reSanitizeURL = regexp.MustCompile(`\/%2F\w+%2F`)
|
|
|
|
func sanitizeURL(r *request.Request) {
|
|
r.HTTPRequest.URL.RawPath =
|
|
reSanitizeURL.ReplaceAllString(r.HTTPRequest.URL.RawPath, "/")
|
|
}
|