@@ -0,0 +1,130 @@
|
||||
package proxy
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
// 视频桶地址
|
||||
BucketVideoAddressV1 = "http://ts.bbaazz.me"
|
||||
BucketVideoAddressV2 = "http://tong3yuants.bbaazz.me"
|
||||
// 图片桶地址
|
||||
BucketImageAddressV1 = "http://img.bbaazz.me"
|
||||
BucketImageAddressV2 = "http://tong3yuanimg.bbaazz.me"
|
||||
|
||||
// 上传路径
|
||||
ImageUploadPathV1 = "/file/upload"
|
||||
ImageUploadPathV2 = "/file/upload" // "/file/web/media/uploadImg"
|
||||
VideoBodyPathV1 = "/file/web/proxy/videoBody"
|
||||
VideoBodyPathV2 = "/file/web/proxy/videoBodyV2"
|
||||
VideoOkPathV1 = "/file/web/proxy/videoOk"
|
||||
VideoOkPathV2 = "/file/web/proxy/videoOkv2"
|
||||
)
|
||||
|
||||
func DomainAddressRepair(domain string, defaultBucketAddress ...string) string {
|
||||
if domain == "" {
|
||||
if len(defaultBucketAddress) > 0 && defaultBucketAddress[0] != "" {
|
||||
domain = defaultBucketAddress[0]
|
||||
} else {
|
||||
domain = BucketVideoAddressV2
|
||||
}
|
||||
}
|
||||
return domain
|
||||
}
|
||||
|
||||
func ImageUploadAddressRepair(domain string, defaultBucketAddress ...string) string {
|
||||
domain = DomainAddressRepair(domain, defaultBucketAddress...)
|
||||
if !strings.Contains(domain, ImageUploadPathV1) && !strings.Contains(domain, ImageUploadPathV2) {
|
||||
if strings.HasPrefix(domain, BucketImageAddressV1) {
|
||||
return domain + ImageUploadPathV1
|
||||
} else if strings.HasPrefix(domain, BucketImageAddressV2) {
|
||||
return domain + ImageUploadPathV2
|
||||
}
|
||||
return domain + ImageUploadPathV2
|
||||
}
|
||||
return domain
|
||||
}
|
||||
|
||||
func VideoBodyAddressRepair(domain string, defaultBucketAddress ...string) string {
|
||||
domain = DomainAddressRepair(domain, defaultBucketAddress...)
|
||||
if strings.HasPrefix(domain, BucketVideoAddressV1) {
|
||||
if !strings.Contains(domain, VideoBodyPathV1) {
|
||||
return domain + VideoBodyPathV1
|
||||
}
|
||||
return domain
|
||||
} else if strings.HasPrefix(domain, BucketVideoAddressV2) {
|
||||
if !strings.Contains(domain, VideoBodyPathV2) {
|
||||
return domain + VideoBodyPathV2
|
||||
}
|
||||
return domain
|
||||
} else { // 未知存储桶,默认v2
|
||||
if !strings.Contains(domain, VideoBodyPathV2) {
|
||||
return domain + VideoBodyPathV2
|
||||
}
|
||||
return domain
|
||||
}
|
||||
}
|
||||
|
||||
func VideoOkAddressRepair(domain string, defaultBucketAddress ...string) string {
|
||||
domain = DomainAddressRepair(domain, defaultBucketAddress...)
|
||||
if strings.HasPrefix(domain, BucketVideoAddressV1) {
|
||||
if !strings.Contains(domain, VideoOkPathV1) {
|
||||
return domain + VideoOkPathV1
|
||||
}
|
||||
return domain
|
||||
} else if strings.HasPrefix(domain, BucketVideoAddressV2) {
|
||||
if !strings.Contains(domain, VideoOkPathV2) {
|
||||
return domain + VideoOkPathV2
|
||||
}
|
||||
return domain
|
||||
} else { // 未知存储桶,默认v2
|
||||
if !strings.Contains(domain, VideoOkPathV2) {
|
||||
return domain + VideoOkPathV2
|
||||
}
|
||||
return domain
|
||||
}
|
||||
}
|
||||
|
||||
func GetExistsUrlPathBucketAddress(path string) string {
|
||||
if strings.HasPrefix(path, "v1/") {
|
||||
return BucketVideoAddressV1
|
||||
} else if strings.HasPrefix(path, "v2/") {
|
||||
return BucketVideoAddressV2
|
||||
} else if strings.HasPrefix(path, "v3/") {
|
||||
return BucketVideoAddressV2
|
||||
} else {
|
||||
return BucketVideoAddressV1 // 欲漫涩、微博、快看禁漫 默认用桶2,其他的app,默认用桶1
|
||||
}
|
||||
}
|
||||
|
||||
func AppendV2PrefixToUrlPath(name string) string {
|
||||
if name != "" && !strings.HasPrefix(name, "v2/") && !strings.HasPrefix(name, "v1/") && !strings.HasPrefix(name, "v3/") &&
|
||||
!strings.HasPrefix(name, "/v2") && !strings.HasPrefix(name, "/v1") && !strings.HasPrefix(name, "/v3") {
|
||||
name = fmt.Sprintf("v2/%s", name)
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func AppendV1PrefixToUrlPath(name string) string {
|
||||
if name != "" && !strings.HasPrefix(name, "v2/") && !strings.HasPrefix(name, "v1/") && !strings.HasPrefix(name, "v3/") &&
|
||||
!strings.HasPrefix(name, "/v2") && !strings.HasPrefix(name, "/v1") && !strings.HasPrefix(name, "/v3") {
|
||||
name = fmt.Sprintf("v1/%s", name)
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func AppendsMediaS3Version(name string) string {
|
||||
if strings.Contains(name, "bktadminup") ||
|
||||
strings.Contains(name, "bktappupdata") ||
|
||||
strings.Contains(name, "k12") ||
|
||||
strings.Contains(name, "bktappup") {
|
||||
return ""
|
||||
}
|
||||
// 默认使用V1
|
||||
if name != "" && !strings.HasPrefix(name, "v2/") && !strings.HasPrefix(name, "v1/") && !strings.HasPrefix(name, "v3/") &&
|
||||
!strings.HasPrefix(name, "/v2") && !strings.HasPrefix(name, "/v1") && !strings.HasPrefix(name, "/v3") {
|
||||
return "/v2"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
Reference in New Issue
Block a user