aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3api_headers.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/s3api/s3api_headers.go')
-rw-r--r--weed/s3api/s3api_headers.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/weed/s3api/s3api_headers.go b/weed/s3api/s3api_headers.go
new file mode 100644
index 000000000..ff9bfc2ed
--- /dev/null
+++ b/weed/s3api/s3api_headers.go
@@ -0,0 +1,31 @@
+package s3api
+
+import (
+ "bytes"
+ "encoding/xml"
+ "fmt"
+ "net/http"
+ "time"
+)
+
+type mimeType string
+
+const (
+ mimeNone mimeType = ""
+ mimeJSON mimeType = "application/json"
+ mimeXML mimeType = "application/xml"
+)
+
+func setCommonHeaders(w http.ResponseWriter) {
+ w.Header().Set("x-amz-request-id", fmt.Sprintf("%d", time.Now().UnixNano()))
+ w.Header().Set("Accept-Ranges", "bytes")
+}
+
+// Encodes the response headers into XML format.
+func encodeResponse(response interface{}) []byte {
+ var bytesBuffer bytes.Buffer
+ bytesBuffer.WriteString(xml.Header)
+ e := xml.NewEncoder(&bytesBuffer)
+ e.Encode(response)
+ return bytesBuffer.Bytes()
+}