constants.go raw

   1  /*
   2   * Copyright 2017 Baidu, Inc.
   3   *
   4   * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
   5   * except in compliance with the License. You may obtain a copy of the License at
   6   *
   7   * http://www.apache.org/licenses/LICENSE-2.0
   8   *
   9   * Unless required by applicable law or agreed to in writing, software distributed under the
  10   * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
  11   * either express or implied. See the License for the specific language governing permissions
  12   * and limitations under the License.
  13   */
  14  
  15  // constants.go - defines constants of the BCE http package including headers and methods
  16  
  17  package http
  18  
  19  // Constants of the supported HTTP methods for BCE
  20  const (
  21  	GET     = "GET"
  22  	PUT     = "PUT"
  23  	POST    = "POST"
  24  	DELETE  = "DELETE"
  25  	HEAD    = "HEAD"
  26  	OPTIONS = "OPTIONS"
  27  	PATCH   = "PATCH"
  28  )
  29  
  30  // Constants of the HTTP headers for BCE
  31  const (
  32  	// Standard HTTP Headers
  33  	AUTHORIZATION       = "Authorization"
  34  	CACHE_CONTROL       = "Cache-Control"
  35  	CONTENT_DISPOSITION = "Content-Disposition"
  36  	CONTENT_ENCODING    = "Content-Encoding"
  37  	CONTENT_LANGUAGE    = "Content-Language"
  38  	CONTENT_LENGTH      = "Content-Length"
  39  	CONTENT_MD5         = "Content-Md5"
  40  	CONTENT_RANGE       = "Content-Range"
  41  	CONTENT_TYPE        = "Content-Type"
  42  	DATE                = "Date"
  43  	ETAG                = "Etag"
  44  	EXPIRES             = "Expires"
  45  	HOST                = "Host"
  46  	LAST_MODIFIED       = "Last-Modified"
  47  	LOCATION            = "Location"
  48  	RANGE               = "Range"
  49  	SERVER              = "Server"
  50  	TRANSFER_ENCODING   = "Transfer-Encoding"
  51  	USER_AGENT          = "User-Agent"
  52  
  53  	// BCE Common HTTP Headers
  54  	BCE_PREFIX               = "x-bce-"
  55  	BCE_ACL                  = "x-bce-acl"
  56  	BCE_GRANT_READ           = "x-bce-grant-read"
  57  	BCE_GRANT_FULL_CONTROL   = "x-bce-grant-full-control"
  58  	BCE_CONTENT_SHA256       = "x-bce-content-sha256"
  59  	BCE_CONTENT_CRC32        = "x-bce-content-crc32"
  60  	BCE_CONTENT_CRC32C       = "x-bce-content-crc32c"
  61  	BCE_CONTENT_CRC32C_FLAG  = "x-bce-content-crc32c-flag"
  62  	BCE_REQUEST_ID           = "x-bce-request-id"
  63  	BCE_USER_METADATA_PREFIX = "x-bce-meta-"
  64  	BCE_SECURITY_TOKEN       = "x-bce-security-token"
  65  	BCE_DATE                 = "x-bce-date"
  66  	BCE_TAG                  = "x-bce-tag-list"
  67  
  68  	// BOS HTTP Headers
  69  	BCE_COPY_METADATA_DIRECTIVE         = "x-bce-metadata-directive"
  70  	BCE_COPY_TAGGING_DIRECTIVE          = "x-bce-tagging-directive"
  71  	BCE_COPY_SOURCE                     = "x-bce-copy-source"
  72  	BCE_COPY_SOURCE_IF_MATCH            = "x-bce-copy-source-if-match"
  73  	BCE_COPY_SOURCE_IF_MODIFIED_SINCE   = "x-bce-copy-source-if-modified-since"
  74  	BCE_COPY_SOURCE_IF_NONE_MATCH       = "x-bce-copy-source-if-none-match"
  75  	BCE_COPY_SOURCE_IF_UNMODIFIED_SINCE = "x-bce-copy-source-if-unmodified-since"
  76  	BCE_COPY_SOURCE_RANGE               = "x-bce-copy-source-range"
  77  	BCE_DEBUG_ID                        = "x-bce-debug-id"
  78  	BCE_OBJECT_TYPE                     = "x-bce-object-type"
  79  	BCE_NEXT_APPEND_OFFSET              = "x-bce-next-append-offset"
  80  	BCE_STORAGE_CLASS                   = "x-bce-storage-class"
  81  	BCE_PROCESS                         = "x-bce-process"
  82  	BCE_RESTORE_TIER                    = "x-bce-restore-tier"
  83  	BCE_RESTORE_DAYS                    = "x-bce-restore-days"
  84  	BCE_RESTORE                         = "x-bce-restore"
  85  	BCE_FORBID_OVERWRITE                = "x-bce-forbid-overwrite"
  86  	BCE_SYMLINK_TARGET                  = "x-bce-symlink-target"
  87  	BCE_SYMLINK_BUCKET                  = "x-bce-symlink-bucket"
  88  	BCE_TRAFFIC_LIMIT                   = "x-bce-traffic-limit"
  89  	BCE_BUCKET_TYPE                     = "x-bce-bucket-type"
  90  	BCE_OBJECT_TAGGING                  = "x-bce-tagging"
  91  	BCE_FETCH_CALLBACK_ADDRESS          = "x-bce-callback-address"
  92  	BCE_VERSION_ID                      = "x-bce-version-id"
  93  	BCE_OBJECT_EXPIRES                  = "x-bce-object-expires"
  94  	BCE_EXPIRATION_DATE                 = "x-bce-expiration-date"
  95  	BCE_SERVER_SIDE_ENCRYPTION          = "x-bce-server-side-encryption"
  96  	BCE_SERVER_SIDE_ENCRYPTION_KEY      = "x-bce-server-side-encryption-customer-key"
  97  	BCE_SERVER_SIDE_ENCRYPTION_KEY_MD5  = "x-bce-server-side-encryption-customer-key-md5"
  98  	BCE_SERVER_SIDE_ENCRYPTION_KEY_ID   = "x-bce-server-side-encryption-bos-kms-key-id"
  99  	BCE_OBJECT_RETENTION_DATE           = "x-bce-object-rentention-date"
 100  	BCE_TAGGING_COUNT                   = "x-bce-tagging-count"
 101  	BCE_CONTENT_CRC64ECMA               = "x-bce-content-crc64ecma"
 102  	//post field
 103  	SUCCESS_ACTION_REDIRECT = "success-action-redirect"
 104  	SUCCESS_ACTION_STATUS   = "success-action-status"
 105  	//options header
 106  	ORIGIN                           = "Origin"
 107  	ACCESS_CONTROL_REQUEST_METHOD    = "Access-Control-Request-Method"
 108  	ACCESS_CONTROL_REQUEST_HEADERS   = "Access-Control-Request-Headers"
 109  	ACCESS_CONTROL_ALLOW_CREDENTIALS = "Access-Control-Allow-Credentials"
 110  	ACCESS_CONTROL_ALLOW_HEADERS     = "Access-Control-Allow-Headers"
 111  	ACCESS_CONTROL_ALLOW_METHODS     = "Access-Control-Allow-Methods"
 112  	ACCESS_CONTROL_ALLOW_ORIGIN      = "Access-Control-Allow-Origin"
 113  	ACCESS_CONTROL_EXPOSE_HEADERS    = "Access-Control-Expose-Headers"
 114  	ACCESS_CONTROL_MAX_AGE           = "Access-Control-Max-Age"
 115  )
 116