()
| 302 | } |
| 303 | |
| 304 | constructXml() { |
| 305 | const xml = []; |
| 306 | xml.push('<CORSConfiguration>'); |
| 307 | this._cors.forEach(rule => { |
| 308 | xml.push('<CORSRule>'); |
| 309 | ['allowedMethods', 'allowedOrigins', 'allowedHeaders', |
| 310 | 'exposeHeaders', 'maxAgeSeconds'] |
| 311 | .forEach(key => { |
| 312 | if (rule[key] && Array.isArray(rule[key])) { |
| 313 | const element = key === 'maxAgeSeconds' ? |
| 314 | key.charAt(0).toUpperCase() + key.slice(1) : |
| 315 | key.charAt(0).toUpperCase() + |
| 316 | key.slice(1, -1); |
| 317 | rule[key].forEach(value => { |
| 318 | xml.push(`<${element}>${value}</${element}>`); |
| 319 | }); |
| 320 | } |
| 321 | }); |
| 322 | if (rule.id) { |
| 323 | xml.push(`<ID>${rule.id}</ID>`); |
| 324 | } |
| 325 | if (rule.maxAgeSeconds && !Array.isArray(rule.maxAgeSeconds)) { |
| 326 | xml.push(`<MaxAgeSeconds>${rule.maxAgeSeconds}` + |
| 327 | '</MaxAgeSeconds>'); |
| 328 | } |
| 329 | xml.push('</CORSRule>'); |
| 330 | }); |
| 331 | xml.push('</CORSConfiguration>'); |
| 332 | return xml.join(''); |
| 333 | } |
| 334 | |
| 335 | createBucketCorsRequest(method, bucketName, body) { |
| 336 | const request = { |
no outgoing calls
no test coverage detected