1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
| <?php
|
| /**
| * Copyright 2019 Huawei Technologies Co.,Ltd.
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not use
| * this file except in compliance with the License. You may obtain a copy of the
| * License at
| *
| * http://www.apache.org/licenses/LICENSE-2.0
| *
| * Unless required by applicable law or agreed to in writing, software distributed
| * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
| * CONDITIONS OF ANY KIND, either express or implied. See the License for the
| * specific language governing permissions and limitations under the License.
| *
| */
|
| namespace Obs\Internal\Resource;
|
| class Constants {
| const ALLOWED_RESOURCE_PARAMTER_NAMES = [
| 'acl',
| 'policy',
| 'torrent',
| 'logging',
| 'location',
| 'storageinfo',
| 'quota',
| 'storagepolicy',
| 'requestpayment',
| 'versions',
| 'versioning',
| 'versionid',
| 'uploads',
| 'uploadid',
| 'partnumber',
| 'website',
| 'notification',
| 'lifecycle',
| 'deletebucket',
| 'delete',
| 'cors',
| 'restore',
| 'tagging',
| 'response-content-type',
| 'response-content-language',
| 'response-expires',
| 'response-cache-control',
| 'response-content-disposition',
| 'response-content-encoding',
| 'x-image-process',
|
| 'backtosource',
| 'storageclass',
| 'replication',
| 'append',
| 'position',
| 'x-oss-process'
| ];
| const ALLOWED_REQUEST_HTTP_HEADER_METADATA_NAMES = [
| 'content-type',
| 'content-md5',
| 'content-length',
| 'content-language',
| 'expires',
| 'origin',
| 'cache-control',
| 'content-disposition',
| 'content-encoding',
| 'access-control-request-method',
| 'access-control-request-headers',
| 'x-default-storage-class',
| 'location',
| 'date',
| 'etag',
| 'range',
| 'host',
| 'if-modified-since',
| 'if-unmodified-since',
| 'if-match',
| 'if-none-match',
| 'last-modified',
| 'content-range',
|
| 'success-action-redirect'
| ];
| const ALLOWED_RESPONSE_HTTP_HEADER_METADATA_NAMES = [
| 'content-type',
| 'content-md5',
| 'content-length',
| 'content-language',
| 'expires',
| 'origin',
| 'cache-control',
| 'content-disposition',
| 'content-encoding',
| 'x-default-storage-class',
| 'location',
| 'date',
| 'etag',
| 'host',
| 'last-modified',
| 'content-range',
| 'x-reserved',
| 'access-control-allow-origin',
| 'access-control-allow-headers',
| 'access-control-max-age',
| 'access-control-allow-methods',
| 'access-control-expose-headers',
| 'connection'
| ];
|
| public static function selectConstants($signature) {
| $signature = (strcasecmp ( $signature, 'obs' ) === 0) ? 'OBS' : 'V2';
| return __NAMESPACE__ . '\\' . $signature . 'Constants';
| }
|
| public static function selectRequestResource($signature) {
| $signature = (strcasecmp ( $signature, 'obs' ) === 0) ? 'OBS' : 'V2';
| return (__NAMESPACE__ . '\\' . $signature . 'RequestResource');
| }
|
| }
|
|