Documentation
¶
Index ¶
- Constants
- func GetAuthorization(strAuthorizationBase64 string) ([]byte, error)
- func GetMD5FromNewAuthString(bodyContent []byte, urlPath string, urlQuery string) ([]byte, error)
- func GetPublicKey(publicKeyURLBase64 string) ([]byte, error)
- func VerifySignature(bytePublicKey []byte, byteMd5 []byte, authorization []byte) error
- type AliyunOSSCallback
- type Callback
- type CallbackBody
- type Config
- type EscapeError
- type ImageInfo
- type InvalidHostError
- type Policy
- func (c *Policy) GetDirectory() string
- func (c *Policy) GetExpire() int64
- func (c *Policy) SetBucket(bucket string)
- func (c *Policy) SetContentLengthRange(min int, max int)
- func (c *Policy) SetContentType(types ...string)
- func (c *Policy) SetDirectory(uploadDir string)
- func (c *Policy) SetExpireTime(expiredAt time.Time)
- type SignatureToken
- type Token
Constants ¶
View Source
const AuthorizationHeader = "Authorization"
View Source
const CallbackBodyParam = `` /* 317-byte string literal not displayed */
View Source
const CallbackBodyTypeParam = "application/json"
View Source
const DefaultExpireSecond = 600
View Source
const PubKeyUrlHeader = "X-Oss-Pub-Key-Url"
View Source
const TimeGMTISO8601 = "2006-01-02T15:04:05Z"
Variables ¶
This section is empty.
Functions ¶
func GetAuthorization ¶
GetAuthorization : decode from Base64String
func GetMD5FromNewAuthString ¶
GetMD5FromNewAuthString : Get MD5 bytes from Newly Constructed Authorization String.
func GetPublicKey ¶
GetPublicKey : Get PublicKey bytes from Request.URL
Types ¶
type AliyunOSSCallback ¶ added in v0.3.0
type AliyunOSSCallback struct {
// contains filtered or unexported fields
}
func NewAliyunOSSCallback ¶ added in v0.3.0
func NewAliyunOSSCallback(req *http.Request) *AliyunOSSCallback
func (*AliyunOSSCallback) VerifySignature ¶ added in v0.3.0
func (a *AliyunOSSCallback) VerifySignature() (*CallbackBody, error)
type Callback ¶ added in v0.1.0
type Callback struct { CallbackUrl string `json:"callbackUrl"` // required CallbackBody string `json:"callbackBody"` // optional CallbackBodyType string `json:"callbackBodyType,omitempty"` // optional, default: application/x-www-form-urlencoded }
Callback https://help.aliyun.com/zh/oss/developer-reference/callback
type CallbackBody ¶
type CallbackBody struct { // Bucket是存储空间名称 Bucket string `json:"bucket"` // Object表示对象(文件)的完整路径 Object string `json:"object"` // Etag是文件的ETag,即返回给用户的ETag字段 Etag string `json:"etag"` // Size代表Object大小,调用CompleteMultipartUpload时,size为整个Object的大小 Size int `json:"size"` // MimeType代表资源类型,例如jpeg图片的资源类型为image/jpeg MimeType string `json:"mimeType"` // ImageInfo用于存储图片相关的额外信息,仅适用于图片格式 ImageInfo ImageInfo `json:"imageInfo"` // Crc64与上传文件后返回的x-oss-hash-crc64ecma头内容一致 Crc64 int `json:"crc64"` // ContentMd5与上传文件后返回的Content-MD5头内容一致,仅在调用PutObject和PostObject接口上传文件时,该变量的值不为空 ContentMd5 string `json:"contentMd5"` // VpcId发起请求的客户端所在的VpcId,如果不是通过VPC发起请求,则该变量的值为空 VpcId string `json:"vpcId"` // ClientIp发起请求的客户端IP地址 ClientIp string `json:"clientIp"` // ReqId发起请求的RequestId ReqId string `json:"reqId"` // Operation发起请求的接口名称,例如PutObject、PostObject等 Operation string `json:"operation"` }
CallbackBody 结构体用于存储文件相关信息以及请求相关的一些元数据
type Config ¶
type Config struct { // SignatureToken AccessKeyId string `json:"access_key_id"` AccessKeySecret string `json:"access_key_secret"` Host string `json:"host"` // Callback CallbackUrl string `json:"callback_url"` CallbackBody string `json:"callback_body"` CallbackBodyType string `json:"callback_body_type"` // Policy Directory string `json:"directory"` ExpireSecond int64 `json:"expire_second"` }
type EscapeError ¶
type EscapeError string
func (EscapeError) Error ¶
func (e EscapeError) Error() string
type InvalidHostError ¶
type InvalidHostError string
func (InvalidHostError) Error ¶
func (e InvalidHostError) Error() string
type Policy ¶ added in v0.1.0
type Policy struct { Expiration string `json:"expiration"` // required Conditions []any `json:"conditions"` // optional // contains filtered or unexported fields }
Policy https://help.aliyun.com/zh/oss/developer-reference/signature-version-1
func (*Policy) GetDirectory ¶ added in v0.1.0
func (*Policy) SetContentLengthRange ¶ added in v0.1.0
func (*Policy) SetContentType ¶ added in v0.1.0
func (*Policy) SetDirectory ¶ added in v0.1.0
func (*Policy) SetExpireTime ¶ added in v0.1.0
type SignatureToken ¶ added in v0.2.0
type SignatureToken struct { // post object param OSSAccessKeyId string `json:"OSSAccessKeyId"` // required Policy string `json:"policy"` // required Callback string `json:"callback"` // optional Signature string `json:"signature"` // required // api param Host string `json:"host"` // optional Expire int64 `json:"expire"` // optional Directory string `json:"directory"` // optional }
SignatureToken https://help.aliyun.com/zh/oss/developer-reference/postobject
type Token ¶
type Token struct {
// contains filtered or unexported fields
}
func (*Token) Generate ¶
func (t *Token) Generate() (*SignatureToken, error)
func (*Token) SetCallback ¶ added in v0.1.0
Click to show internal directories.
Click to hide internal directories.