oss

package
v0.12.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeaderXmsDate      = "X-Ms-Date"
	HeaderXmsVersion   = "X-Ms-Version"
	HeaderXmsRequestID = "X-Ms-Request-Id"
	HeaderXmsBlobType  = "X-Ms-Blob-Type"

	HeaderOSSAppendNextPositionHeader    = "X-Rgw-Next-Append-Position"
	HeaderOBSAppendNextPositionHeader    = "X-Obs-Next-Append-Position"
	HeaderAliOSSAppendNextPositionHeader = "X-Oss-Next-Append-Position"
	HeaderAzblobAppendOffsetHeader       = "X-Ms-Blob-Append-Offset"
	HeaderAzblobAppendPositionHeader     = "X-Ms-Blob-Condition-Appendpos"

	HeaderAmzDate          = "X-Amz-Date"
	HeaderAmzContentSHA256 = "X-Amz-Content-Sha256"

	HeaderAliOSSPrefix     = "x-oss-"
	HeaderAliContentSHA256 = "X-Oss-Content-Sha256"
	HeaderAliDate          = "X-Oss-Date"

	AmzServiceS3          = "s3"
	UnsignedPayloadHash   = "UNSIGNED-PAYLOAD"
	AmzS3SigningAlgorithm = "AWS4-HMAC-SHA256"
	AuthorizationHeader   = "Authorization"
)

Variables

View Source
var (
	AmzSignIgnoredHeaders = map[string]struct{}{
		"Authorization":   {},
		"User-Agent":      {},
		"X-Amzn-Trace-Id": {},
		"Expect":          {},
	}
)
View Source
var NeedContentLength = func(url string) bool {
	switch Which(url) {
	case TypeOBS, TypeAliyunOSS:
		return false
	case TypeBlob, TypeAmazonS3, TypeMinIO, TypeUnknown:
		return true
	default:
		return true
	}
}

Functions

func AliSign

func AliSign(req *http.Request, ak, sk, region string) error

func AmzSign

func AmzSign(req *http.Request, ak string, sk string, region string) error

func AzblobSign

func AzblobSign(req *http.Request, account string, key string) error

func CreateAppendBlob

func CreateAppendBlob(ctx context.Context, url string, ak string, sk string) error

func Delete

func Delete(ctx context.Context, timeout time.Duration, url string, ak string, sk string, region string) error

func GetNextPositionFromResponse

func GetNextPositionFromResponse(resp *http.Response) (int, bool, error)

func HMACSHA256

func HMACSHA256(key []byte, data []byte) []byte

HMACSHA256 computes a HMAC-SHA256 of data given the provided key.

func Head(ctx context.Context, timeout time.Duration, url string, ak string, sk string, region string) (*http.Response, error)

func IsAliOSS added in v0.10.4

func IsAliOSS(url string) bool

func IsAmzS3

func IsAmzS3(url string) bool

func IsAzblob

func IsAzblob(url string) bool

func IsObs

func IsObs(url string) bool

func IsSupportAppend

func IsSupportAppend(url string) bool

func ObsSign

func ObsSign(req *http.Request, ak string, sk string, bucket string, obj string) error

func ParseAliOSSURL added in v0.10.4

func ParseAliOSSURL(url string) (bool, string, string)

func ParseAmzS3Url

func ParseAmzS3Url(url string) (bool, string)

func ParseObsURL

func ParseObsURL(url string) (bool, string, string)

ok, bucket, object.

func SealAppendBlob added in v0.11.0

func SealAppendBlob(ctx context.Context, url string, ak string, sk string) error

func Sign

func Sign(req *http.Request, ak string, sk string, region string) error

Types

type Type

type Type string
const (
	TypeUnknown   Type = "unknown"
	TypeAmazonS3  Type = "AmazonS3"
	TypeBlob      Type = "Blob"
	TypeOBS       Type = "OBS"
	TypeAliyunOSS Type = "AliyunOSS"
	TypeMinIO     Type = "MinIO"
)

func Which

func Which(url string) Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL