in handler/proxy_client.go [47:77]
func (p *ProxyClient) sign(req *http.Request, service *endpoints.ResolvedEndpoint) error {
body := bytes.NewReader([]byte{})
if req.Body != nil {
b, err := ioutil.ReadAll(req.Body)
if err != nil {
return err
}
body = bytes.NewReader(b)
}
var err error
switch service.SigningMethod {
case "v4", "s3v4":
_, err = p.Signer.Sign(req, body, service.SigningName, service.SigningRegion, time.Now())
break
case "s3":
_, err = p.Signer.Presign(req, body, service.SigningName, service.SigningRegion, time.Duration(time.Hour), time.Now())
break
default:
err = fmt.Errorf("unable to sign with specified signing method %s for service %s", service.SigningMethod, service.SigningName)
break
}
if err == nil {
log.WithFields(log.Fields{"service": service.SigningName, "region": service.SigningRegion}).Debug("signed request")
}
return err
}