diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 18dd96205..2f541f983 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -36,6 +36,7 @@ - @xen-orchestra/backups minor - @xen-orchestra/xapi major - complex-matcher patch +- xen-api patch - xo-server patch - xo-server-audit patch - xo-web minor diff --git a/packages/xen-api/src/index.js b/packages/xen-api/src/index.js index 138e5a2bf..42a491c6b 100644 --- a/packages/xen-api/src/index.js +++ b/packages/xen-api/src/index.js @@ -954,6 +954,8 @@ export class Xapi extends EventEmitter { url, agent: this.httpAgent, }) + const { hostname } = url + url.hostnameRaw = hostname[0] === '[' ? hostname.slice(1, -1) : hostname this._url = url } diff --git a/packages/xen-api/src/transports/xml-rpc.js b/packages/xen-api/src/transports/xml-rpc.js index 5b8794d1c..7bcca33ed 100644 --- a/packages/xen-api/src/transports/xml-rpc.js +++ b/packages/xen-api/src/transports/xml-rpc.js @@ -30,14 +30,12 @@ const parseResult = result => { return result.Value } -const removeBrackets = hostname => (hostname[0] === '[' ? hostname.slice(1, -1) : hostname) - -export default ({ secureOptions, url: { hostname, pathname, port, protocol }, agent }) => { +export default ({ secureOptions, url: { hostnameRaw, pathname, port, protocol }, agent }) => { const secure = protocol === 'https:' const client = (secure ? createSecureClient : createClient)({ ...(secure ? secureOptions : undefined), agent, - host: removeBrackets(hostname), + host: hostnameRaw, pathname, port, })