add endpoint support

This commit is contained in:
tgic 2015-06-15 20:03:32 +08:00
parent 46148721e1
commit d28a3fa28a
2 changed files with 19 additions and 9 deletions

8
docs/storage/driver/oss/oss.go Executable file → Normal file
View file

@ -56,6 +56,7 @@ type DriverParameters struct {
Secure bool
ChunkSize int64
RootDirectory string
Endpoint string
}
func init() {
@ -175,6 +176,11 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
rootDirectory = ""
}
endpoint, ok := parameters["endpoint"]
if !ok {
endpoint = ""
}
params := DriverParameters{
AccessKeyID: fmt.Sprint(accessKey),
AccessKeySecret: fmt.Sprint(secretKey),
@ -185,6 +191,7 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
Encrypt: encryptBool,
Secure: secureBool,
Internal: internalBool,
Endpoint: fmt.Sprint(endpoint),
}
return New(params)
@ -195,6 +202,7 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
func New(params DriverParameters) (*Driver, error) {
client := oss.NewOSSClient(params.Region, params.Internal, params.AccessKeyID, params.AccessKeySecret, params.Secure)
client.SetEndpoint(params.Endpoint)
bucket := client.Bucket(params.Bucket)
// Validate that the given credentials have at least read permissions in the