conf.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package oss
  2. import (
  3. "time"
  4. )
  5. // HTTPTimeout http timeout
  6. type HTTPTimeout struct {
  7. ConnectTimeout time.Duration
  8. ReadWriteTimeout time.Duration
  9. HeaderTimeout time.Duration
  10. LongTimeout time.Duration
  11. }
  12. // Config oss configure
  13. type Config struct {
  14. Endpoint string // oss地址
  15. AccessKeyID string // accessId
  16. AccessKeySecret string // accessKey
  17. RetryTimes uint // 失败重试次数,默认5
  18. UserAgent string // SDK名称/版本/系统信息
  19. IsDebug bool // 是否开启调试模式,默认false
  20. Timeout uint // 超时时间,默认60s
  21. SecurityToken string // STS Token
  22. IsCname bool // Endpoint是否是CNAME
  23. HTTPTimeout HTTPTimeout // HTTP的超时时间设置
  24. IsEnableMD5 bool // 上传数据时是否启用MD5校验
  25. }
  26. // 获取默认配置
  27. func getDefaultOssConfig() *Config {
  28. config := Config{}
  29. config.Endpoint = ""
  30. config.AccessKeyID = ""
  31. config.AccessKeySecret = ""
  32. config.RetryTimes = 5
  33. config.IsDebug = false
  34. config.UserAgent = userAgent
  35. config.Timeout = 60 // seconds
  36. config.SecurityToken = ""
  37. config.IsCname = false
  38. config.IsEnableMD5 = true
  39. config.HTTPTimeout.ConnectTimeout = time.Second * 30 // 30s
  40. config.HTTPTimeout.ReadWriteTimeout = time.Second * 60 // 60s
  41. config.HTTPTimeout.HeaderTimeout = time.Second * 60 // 60s
  42. config.HTTPTimeout.LongTimeout = time.Second * 300 // 300s
  43. return &config
  44. }