diff --git a/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap b/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap index 7a04b76efda8537e7e3c88c84a0847bc57474dcd..c5ead11ef57ce6b20ad8c5358da7538fd579612e 100644 --- a/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap +++ b/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap @@ -1105,7 +1105,7 @@ Array [ "user-agent": "https://github.com/renovatebot/renovate", }, "method": "GET", - "url": "https://api.bitbucket.org/2.0/repositories/?role=contributor&pagelen=100", + "url": "https://api.bitbucket.org/2.0/repositories?role=contributor&pagelen=100", }, ] `; diff --git a/lib/platform/bitbucket/index.spec.ts b/lib/platform/bitbucket/index.spec.ts index 13cdab170282f227fca2687ae30b1b61de61080a..c810369d8a77555fc025fc7c350a8a9c96585bad 100644 --- a/lib/platform/bitbucket/index.spec.ts +++ b/lib/platform/bitbucket/index.spec.ts @@ -126,7 +126,7 @@ describe('platform/bitbucket', () => { it('returns repos', async () => { httpMock .scope(baseUrl) - .get('/2.0/repositories/?role=contributor&pagelen=100') + .get('/2.0/repositories?role=contributor&pagelen=100') .reply(200, { values: [{ full_name: 'foo/bar' }, { full_name: 'some/repo' }], }); diff --git a/lib/util/http/index.ts b/lib/util/http/index.ts index 8cb1e3af52052ceb1eeea1de64dc0dc6e215ee6a..06ff0f2636c86b9deb855fc0a19d722463cb5be2 100644 --- a/lib/util/http/index.ts +++ b/lib/util/http/index.ts @@ -1,11 +1,11 @@ import crypto from 'crypto'; -import URL from 'url'; import got, { Options, Response } from 'got'; import { HOST_DISABLED } from '../../constants/error-messages'; import { logger } from '../../logger'; import { ExternalHostError } from '../../types/errors/external-host-error'; import * as memCache from '../cache/memory'; import { clone } from '../clone'; +import { resolveBaseUrl } from '../url'; import { applyAuthorization, removeAuthorization } from './auth'; import { applyHostRules } from './host-rules'; import { GotOptions } from './types'; @@ -95,7 +95,7 @@ export class Http<GetOptions = HttpOptions, PostOptions = HttpPostOptions> { ): Promise<HttpResponse<T> | null> { let url = requestUrl.toString(); if (httpOptions?.baseUrl) { - url = URL.resolve(httpOptions.baseUrl, url); + url = resolveBaseUrl(httpOptions.baseUrl, url); } // TODO: deep merge in order to merge headers let options: GotOptions = { @@ -227,7 +227,7 @@ export class Http<GetOptions = HttpOptions, PostOptions = HttpPostOptions> { // istanbul ignore else: needs test if (options?.baseUrl) { // eslint-disable-next-line no-param-reassign - url = URL.resolve(options.baseUrl, url); + url = resolveBaseUrl(options.baseUrl, url); } applyDefaultHeaders(combinedOptions);