Implement Alibaba Cloud OSS gateway support (#5103)

This commit is contained in:
Timon Wong
2017-12-19 16:25:17 +08:00
committed by Nitish Tiwari
parent a182fe8c15
commit 84fc78d60f
24 changed files with 7476 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
package oss
import (
"hash"
"io"
"net/http"
)
// Response Http response from oss
type Response struct {
StatusCode int
Headers http.Header
Body io.ReadCloser
ClientCRC uint64
ServerCRC uint64
}
// PutObjectRequest The request of DoPutObject
type PutObjectRequest struct {
ObjectKey string
Reader io.Reader
}
// GetObjectRequest The request of DoGetObject
type GetObjectRequest struct {
ObjectKey string
}
// GetObjectResult The result of DoGetObject
type GetObjectResult struct {
Response *Response
ClientCRC hash.Hash64
ServerCRC uint64
}
// AppendObjectRequest The requtest of DoAppendObject
type AppendObjectRequest struct {
ObjectKey string
Reader io.Reader
Position int64
}
// AppendObjectResult The result of DoAppendObject
type AppendObjectResult struct {
NextPosition int64
CRC uint64
}
// UploadPartRequest The request of DoUploadPart
type UploadPartRequest struct {
InitResult *InitiateMultipartUploadResult
Reader io.Reader
PartSize int64
PartNumber int
}
// UploadPartResult The result of DoUploadPart
type UploadPartResult struct {
Part UploadPart
}