Skip to content

Commit 4a4c85a

Browse files
committed
feat: support URL in HttpClientRequest.prependUrl
1 parent 5be3b6a commit 4a4c85a

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

packages/platform/src/HttpClientRequest.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@ export const setUrl: {
211211
* @category combinators
212212
*/
213213
export const prependUrl: {
214-
(path: string): (self: HttpClientRequest) => HttpClientRequest
215-
(self: HttpClientRequest, path: string): HttpClientRequest
214+
(path: string | URL): (self: HttpClientRequest) => HttpClientRequest
215+
(self: HttpClientRequest, path: string | URL): HttpClientRequest
216216
} = internal.prependUrl
217217

218218
/**

packages/platform/src/internal/httpClientRequest.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -264,19 +264,22 @@ export const appendUrl = dual<
264264

265265
/** @internal */
266266
export const prependUrl = dual<
267-
(path: string) => (self: ClientRequest.HttpClientRequest) => ClientRequest.HttpClientRequest,
268-
(self: ClientRequest.HttpClientRequest, path: string) => ClientRequest.HttpClientRequest
269-
>(2, (self, url) =>
270-
makeInternal(
267+
(path: string | URL) => (self: ClientRequest.HttpClientRequest) => ClientRequest.HttpClientRequest,
268+
(self: ClientRequest.HttpClientRequest, path: string | URL) => ClientRequest.HttpClientRequest
269+
>(2, (self, url) => {
270+
const clone = typeof url === "string" ? url : url.toString()
271+
272+
return makeInternal(
271273
self.method,
272-
url.endsWith("/") && self.url.startsWith("/") ?
274+
clone.endsWith("/") && self.url.startsWith("/") ?
273275
url + self.url.slice(1) :
274276
url + self.url,
275277
self.urlParams,
276278
self.hash,
277279
self.headers,
278280
self.body
279-
))
281+
)
282+
})
280283

281284
/** @internal */
282285
export const updateUrl = dual<

0 commit comments

Comments
 (0)