mirror of
https://github.com/minio/minio.git
synced 2024-12-24 22:25:54 -05:00
web: Add targetProto for putObjectURL,getObjectURL SSL requests.
Currently the default request was based on the 'minio server' SSL configuration. But inside a proxy this is invalid browser needs to send which protocol it wishes the PresignedURL should be generated for.
This commit is contained in:
parent
a18620fa86
commit
4db136c19c
@ -52,7 +52,6 @@ type webAPI struct {
|
||||
Client minio.CloudStorageClient
|
||||
|
||||
// private params.
|
||||
inSecure bool // Enabled if TLS is false.
|
||||
apiAddress string // api destination address.
|
||||
// accessKeys kept to be used internally.
|
||||
accessKeyID string
|
||||
@ -130,7 +129,6 @@ func initWeb(conf cloudServerConfig) *webAPI {
|
||||
FSPath: conf.Path,
|
||||
AccessLog: conf.AccessLog,
|
||||
Client: client,
|
||||
inSecure: inSecure,
|
||||
apiAddress: conf.Address,
|
||||
accessKeyID: conf.AccessKeyID,
|
||||
secretAccessKey: conf.SecretAccessKey,
|
||||
|
@ -242,9 +242,10 @@ func (web *webAPI) ListObjects(r *http.Request, args *ListObjectsArgs, reply *Li
|
||||
|
||||
// PutObjectURLArgs - args to generate url for upload access.
|
||||
type PutObjectURLArgs struct {
|
||||
TargetHost string `json:"targetHost"`
|
||||
BucketName string `json:"bucketName"`
|
||||
ObjectName string `json:"objectName"`
|
||||
TargetHost string `json:"targetHost"`
|
||||
TargetProto string `json:"targetProto"`
|
||||
BucketName string `json:"bucketName"`
|
||||
ObjectName string `json:"objectName"`
|
||||
}
|
||||
|
||||
// PutObjectURLRep - reply for presigned upload url request.
|
||||
@ -258,7 +259,11 @@ func (web *webAPI) PutObjectURL(r *http.Request, args *PutObjectURLArgs, reply *
|
||||
if !isJWTReqAuthenticated(r) {
|
||||
return &json2.Error{Message: "Unauthorized request"}
|
||||
}
|
||||
client, e := minio.New(args.TargetHost, web.accessKeyID, web.secretAccessKey, web.inSecure)
|
||||
|
||||
// disableSSL is true if no 'https:' proto is found.
|
||||
disableSSL := (args.TargetProto != "https:")
|
||||
|
||||
client, e := minio.New(args.TargetHost, web.accessKeyID, web.secretAccessKey, disableSSL)
|
||||
if e != nil {
|
||||
return &json2.Error{Message: e.Error()}
|
||||
}
|
||||
@ -273,9 +278,10 @@ func (web *webAPI) PutObjectURL(r *http.Request, args *PutObjectURLArgs, reply *
|
||||
|
||||
// GetObjectURLArgs - args to generate url for download access.
|
||||
type GetObjectURLArgs struct {
|
||||
TargetHost string `json:"targetHost"`
|
||||
BucketName string `json:"bucketName"`
|
||||
ObjectName string `json:"objectName"`
|
||||
TargetHost string `json:"targetHost"`
|
||||
TargetProto string `json:"targetProto"`
|
||||
BucketName string `json:"bucketName"`
|
||||
ObjectName string `json:"objectName"`
|
||||
}
|
||||
|
||||
// GetObjectURLRep - reply for presigned download url request.
|
||||
@ -296,7 +302,10 @@ func (web *webAPI) GetObjectURL(r *http.Request, args *GetObjectURLArgs, reply *
|
||||
return &json2.Error{Message: e.Error()}
|
||||
}
|
||||
|
||||
client, e := minio.New(args.TargetHost, web.accessKeyID, web.secretAccessKey, web.inSecure)
|
||||
// disableSSL is true if no 'https:' proto is found.
|
||||
disableSSL := (args.TargetProto != "https:")
|
||||
|
||||
client, e := minio.New(args.TargetHost, web.accessKeyID, web.secretAccessKey, disableSSL)
|
||||
if e != nil {
|
||||
return &json2.Error{Message: e.Error()}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user