conf.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. }
  25. // 获取默认配置
  26. func getDefaultOssConfig() *Config {
  27. config := Config{}
  28. config.Endpoint = ""
  29. config.AccessKeyID = ""
  30. config.AccessKeySecret = ""
  31. config.RetryTimes = 5
  32. config.IsDebug = false
  33. config.UserAgent = userAgent
  34. config.Timeout = 60 // seconds
  35. config.SecurityToken = ""
  36. config.IsCname = false
  37. config.HTTPTimeout.ConnectTimeout = time.Second * 30 // 30s
  38. config.HTTPTimeout.ReadWriteTimeout = time.Second * 60 // 60s
  39. config.HTTPTimeout.HeaderTimeout = time.Second * 60 // 60s
  40. config.HTTPTimeout.LongTimeout = time.Second * 300 // 300s
  41. return &config
  42. }