consts.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package tos
  2. import (
  3. "hash/crc64"
  4. "os"
  5. )
  6. const (
  7. // Version tos-go-sdk version
  8. Version = "v2.6.2"
  9. )
  10. const TempFileSuffix = ".temp"
  11. const DefaultFilePerm = os.FileMode(0644)
  12. var DefaultCrcTable = func() *crc64.Table {
  13. return crc64.MakeTable(crc64.ECMA)
  14. }
  15. const DefaultTaskBufferSize = 100
  16. const DefaultListMaxKeys = 1000
  17. func SupportedRegion() map[string]string {
  18. return map[string]string{
  19. "cn-beijing": "tos-cn-beijing.volces.com",
  20. "cn-guangzhou": "tos-cn-guangzhou.volces.com",
  21. "cn-shanghai": "tos-cn-shanghai.volces.com",
  22. }
  23. }
  24. func SupportedEndpoint() map[string]string {
  25. supportEndpoint := make(map[string]string)
  26. for key, value := range SupportedRegion() {
  27. supportEndpoint[value] = key
  28. }
  29. return supportEndpoint
  30. }
  31. const (
  32. defaultPreSignedURLExpires = 3600
  33. maxPreSignedURLExpires = 604800
  34. )
  35. const (
  36. MaxPartSize = 5 * 1024 * 1024 * 1024
  37. MinPartSize = 5 * 1024 * 1024
  38. DefaultPartSize = 20 * 1024 * 1024
  39. )
  40. const (
  41. // Deprecated: use enum.ACLPrivate instead
  42. ACLPrivate = "private"
  43. // Deprecated: use enum.ACLPublicRead instead
  44. ACLPublicRead = "public-read"
  45. // Deprecated: use enum.ACLPublicReadWrite instead
  46. ACLPublicReadWrite = "public-read-write"
  47. // Deprecated: use enum.ACLAuthRead instead
  48. ACLAuthRead = "authenticated-read"
  49. // Deprecated: use enum.ACLBucketOwnerRead instead
  50. ACLBucketOwnerRead = "bucket-owner-read"
  51. // Deprecated: use enum.ACLBucketOwnerFullControl instead
  52. ACLBucketOwnerFullControl = "bucket-owner-full-control"
  53. // Deprecated: use enum.ACLLogDeliveryWrite instead
  54. ACLLogDeliveryWrite = "log-delivery-write"
  55. // Deprecated: use enum.PermissionRead instead
  56. PermissionRead = "READ"
  57. // Deprecated: use enum.PermissionWrite instead
  58. PermissionTypeWrite = "WRITE"
  59. // Deprecated: use enum.PermissionReadAcp instead
  60. PermissionTypeReadAcp = "READ_ACP"
  61. // Deprecated: use enum.PermissionWriteAcp instead
  62. PermissionTypeWriteAcp = "WRITE_ACP"
  63. // Deprecated: use enum.PermissionFullControl instead
  64. PermissionFullControl = "FULL_CONTROL"
  65. )
  66. const (
  67. ISO8601TimeFormat = "2006-01-02T15:04:05.000Z07:00"
  68. )
  69. const (
  70. // MetadataDirectiveReplace replace source object metadata when calling CopyObject
  71. MetadataDirectiveReplace = "REPLACE"
  72. // MetadataDirectiveCopy copy source object metadata when calling CopyObject
  73. MetadataDirectiveCopy = "COPY"
  74. )
  75. const (
  76. QueryPartNumber = "partNumber"
  77. )
  78. const (
  79. HeaderUserAgent = "User-Agent"
  80. HeaderContentLength = "Content-Length"
  81. HeaderContentType = "Content-Type"
  82. HeaderContentMD5 = "Content-MD5"
  83. HeaderContentSha256 = "X-Tos-Content-Sha256"
  84. HeaderContentLanguage = "Content-Language"
  85. HeaderContentEncoding = "Content-Encoding"
  86. HeaderContentDisposition = "Content-Disposition"
  87. HeaderLastModified = "Last-Modified"
  88. HeaderCacheControl = "Cache-Control"
  89. HeaderExpires = "Expires"
  90. HeaderETag = "ETag"
  91. HeaderVersionID = "X-Tos-Version-Id"
  92. HeaderDeleteMarker = "X-Tos-Delete-Marker"
  93. HeaderStorageClass = "X-Tos-Storage-Class"
  94. HeaderAzRedundancy = "X-Tos-Az-Redundancy"
  95. HeaderRestore = "X-Tos-Restore"
  96. HeaderTag = "X-Tos-Tag"
  97. HeaderSSECustomerAlgorithm = "X-Tos-Server-Side-Encryption-Customer-Algorithm"
  98. HeaderSSECustomerKeyMD5 = "X-Tos-Server-Side-Encryption-Customer-Key-MD5"
  99. HeaderSSECustomerKey = "X-Tos-Server-Side-Encryption-Customer-Key"
  100. HeaderServerSideEncryption = "X-Tos-Server-Side-Encryption"
  101. HeaderServerSideEncryptionKmsKeyID = "X-Tos-Server-Side-Encryption-Kms-Key-Id"
  102. HeaderCopySourceSSECAlgorithm = "X-Tos-Server-Side-Encryption-Customer-Algorithm"
  103. HeaderCopySourceSSECKeyMD5 = "X-Tos-Server-Side-Encryption-Customer-Key-MD5"
  104. HeaderCopySourceSSECKey = "X-Tos-Server-Side-Encryption-Customer-Key"
  105. HeaderIfModifiedSince = "If-Modified-Since"
  106. HeaderIfUnmodifiedSince = "If-Unmodified-Since"
  107. HeaderIfMatch = "If-Match"
  108. HeaderIfNoneMatch = "If-None-Match"
  109. HeaderRange = "Range"
  110. HeaderContentRange = "Content-Range"
  111. HeaderRequestID = "X-Tos-Request-Id"
  112. HeaderID2 = "X-Tos-Id-2"
  113. HeaderBucketRegion = "X-Tos-Bucket-Region"
  114. HeaderLocation = "Location"
  115. HeaderACL = "X-Tos-Acl"
  116. HeaderGrantFullControl = "X-Tos-Grant-Full-Control"
  117. HeaderGrantRead = "X-Tos-Grant-Read"
  118. HeaderGrantReadAcp = "X-Tos-Grant-Read-Acp"
  119. HeaderGrantWrite = "X-Tos-Grant-Write"
  120. HeaderGrantWriteAcp = "X-Tos-Grant-Write-Acp"
  121. HeaderNextAppendOffset = "X-Tos-Next-Append-Offset"
  122. HeaderObjectType = "X-Tos-Object-Type"
  123. HeaderHashCrc64ecma = "X-Tos-Hash-Crc64ecma"
  124. HeaderMetadataDirective = "X-Tos-Metadata-Directive"
  125. HeaderCopySource = "X-Tos-Copy-Source"
  126. HeaderCopySourceIfMatch = "X-Tos-Copy-Source-If-Match"
  127. HeaderCopySourceIfNoneMatch = "X-Tos-Copy-Source-If-None-Match"
  128. HeaderCopySourceIfModifiedSince = "X-Tos-Copy-Source-If-Modified-Since"
  129. HeaderCopySourceIfUnmodifiedSince = "X-Tos-Copy-Source-If-Unmodified-Since"
  130. HeaderCopySourceRange = "X-Tos-Copy-Source-Range"
  131. HeaderCopySourceVersionID = "X-Tos-Copy-Source-Version-Id"
  132. HeaderWebsiteRedirectLocation = "X-Tos-Website-Redirect-Location"
  133. HeaderCSType = "X-Tos-Cs-Type"
  134. HeaderMetaPrefix = "X-Tos-Meta-"
  135. )