You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
637 B

  1. package s3api
  2. import (
  3. "bytes"
  4. "encoding/xml"
  5. "fmt"
  6. "net/http"
  7. "time"
  8. )
  9. type mimeType string
  10. const (
  11. mimeNone mimeType = ""
  12. mimeJSON mimeType = "application/json"
  13. mimeXML mimeType = "application/xml"
  14. )
  15. func setCommonHeaders(w http.ResponseWriter) {
  16. w.Header().Set("x-amz-request-id", fmt.Sprintf("%d", time.Now().UnixNano()))
  17. w.Header().Set("Accept-Ranges", "bytes")
  18. }
  19. // Encodes the response headers into XML format.
  20. func encodeResponse(response interface{}) []byte {
  21. var bytesBuffer bytes.Buffer
  22. bytesBuffer.WriteString(xml.Header)
  23. e := xml.NewEncoder(&bytesBuffer)
  24. e.Encode(response)
  25. return bytesBuffer.Bytes()
  26. }