code: func (a *Auth) SignRequest(req *http.Request) {
  	if date := req.Header.Get("Date"); date == "" {
  		req.Header.Set("Date", time.Now().UTC().Format(http.TimeFormat))
  	}
  
  	hm := hmac.New(sha256.New, a.AccessKey)
  	ss := a.stringToSign(req)
  
  	io.WriteString(hm, ss)
  
  	authHeader := new(bytes.Buffer)
  	fmt.Fprintf(authHeader, "SharedKey %s:", a.Account)
  	encoder := base64.NewEncoder(base64.StdEncoding, authHeader)
  	encoder.Write(hm.Sum(nil))
  	encoder.Close()
  	req.Header.Set("Authorization", authHeader.String())
  }
docs: // SignRequest takes an existing *http.Request and signs it
  // with the credentials in Auth. If no date header is set,
  // SignRequest will set the date header to the current UTC time.