(config)
| 367 | } |
| 368 | |
| 369 | function convertToXml(config) { |
| 370 | const xml = []; |
| 371 | const indexDocument = config.getIndexDocument(); |
| 372 | const errorDocument = config.getErrorDocument(); |
| 373 | const redirectAllRequestsTo = config.getRedirectAllRequestsTo(); |
| 374 | const routingRules = config.getRoutingRules(); |
| 375 | |
| 376 | function _pushChildren(obj) { |
| 377 | Object.keys(obj).forEach(element => { |
| 378 | const xmlElem = `${element.charAt(0).toUpperCase()}` + |
| 379 | `${element.slice(1)}`; |
| 380 | xml.push(`<${xmlElem}>${escapeForXml(obj[element])}</${xmlElem}>`); |
| 381 | }); |
| 382 | } |
| 383 | xml.push('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>', |
| 384 | '<WebsiteConfiguration xmlns=' + |
| 385 | '"http://s3.amazonaws.com/doc/2006-03-01/">'); |
| 386 | if (indexDocument) { |
| 387 | xml.push('<IndexDocument>', |
| 388 | `<Suffix>${escapeForXml(indexDocument)}</Suffix>`, |
| 389 | '</IndexDocument>'); |
| 390 | } |
| 391 | if (errorDocument) { |
| 392 | xml.push('<ErrorDocument>', |
| 393 | `<Key>${escapeForXml(errorDocument)}</Key>`, |
| 394 | '</ErrorDocument>'); |
| 395 | } |
| 396 | if (redirectAllRequestsTo) { |
| 397 | xml.push('<RedirectAllRequestsTo>'); |
| 398 | if (redirectAllRequestsTo.hostName) { |
| 399 | xml.push('<HostName>', |
| 400 | `${escapeForXml(redirectAllRequestsTo.hostName)}`, |
| 401 | '</HostName>'); |
| 402 | } |
| 403 | if (redirectAllRequestsTo.protocol) { |
| 404 | xml.push('<Protocol>', |
| 405 | `${redirectAllRequestsTo.protocol}`, |
| 406 | '</Protocol>'); |
| 407 | } |
| 408 | xml.push('</RedirectAllRequestsTo>'); |
| 409 | } |
| 410 | if (routingRules) { |
| 411 | xml.push('<RoutingRules>'); |
| 412 | routingRules.forEach(rule => { |
| 413 | const condition = rule.getCondition(); |
| 414 | const redirect = rule.getRedirect(); |
| 415 | xml.push('<RoutingRule>'); |
| 416 | if (condition) { |
| 417 | xml.push('<Condition>'); |
| 418 | _pushChildren(condition); |
| 419 | xml.push('</Condition>'); |
| 420 | } |
| 421 | if (redirect) { |
| 422 | xml.push('<Redirect>'); |
| 423 | _pushChildren(redirect); |
| 424 | xml.push('</Redirect>'); |
| 425 | } |
| 426 | xml.push('</RoutingRule>'); |
nothing calls this directly
no test coverage detected