From 82963e624b7852fd15811bd630eef4fccb0c4bc5 Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 2 Feb 2023 12:51:46 +0000 Subject: [PATCH 1/3] fix: expose url in channel interface --- packages/interface/src/transport.ts | 1 + packages/transport/test/https.spec.js | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/packages/interface/src/transport.ts b/packages/interface/src/transport.ts index 6a63b5b9..239726b8 100644 --- a/packages/interface/src/transport.ts +++ b/packages/interface/src/transport.ts @@ -26,6 +26,7 @@ export interface Channel> extends Phantom { request>>( request: HTTPRequest ): Await>> + url: URL } export interface RequestEncoder { diff --git a/packages/transport/test/https.spec.js b/packages/transport/test/https.spec.js index 2027dfe9..38146ebb 100644 --- a/packages/transport/test/https.spec.js +++ b/packages/transport/test/https.spec.js @@ -83,3 +83,10 @@ if (typeof globalThis.fetch === 'undefined') { } }) } + +test('should expose url', async () => { + const channel = HTTP.open({ + url: new URL('https://ucan.xyz/'), + }) + assert.equal(channel.url.toString(), 'https://ucan.xyz/') +}) \ No newline at end of file From ed62ec3f242d724b2656455479e397621b11498d Mon Sep 17 00:00:00 2001 From: Hugo Dias Date: Thu, 2 Feb 2023 17:22:00 +0000 Subject: [PATCH 2/3] chore: add fetch to test --- packages/transport/test/https.spec.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/transport/test/https.spec.js b/packages/transport/test/https.spec.js index 38146ebb..2e1ece8e 100644 --- a/packages/transport/test/https.spec.js +++ b/packages/transport/test/https.spec.js @@ -87,6 +87,15 @@ if (typeof globalThis.fetch === 'undefined') { test('should expose url', async () => { const channel = HTTP.open({ url: new URL('https://ucan.xyz/'), + fetch: async (url, init) => { + return { + ok: true, + status: 200, + url, + arrayBuffer: () => UTF8.encode('pong').buffer, + headers: new Map([['content-type', 'text/plain']]), + } + }, }) assert.equal(channel.url.toString(), 'https://ucan.xyz/') }) \ No newline at end of file From a0bdffa775e3adaf8b452de219f7bfff8d7c0b82 Mon Sep 17 00:00:00 2001 From: Travis Vachon Date: Thu, 16 Feb 2023 14:24:11 +0800 Subject: [PATCH 3/3] fix: make url an optional parameter channels won't always have URLs, I think, so make them optional --- packages/interface/src/transport.ts | 2 +- packages/transport/test/https.spec.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/interface/src/transport.ts b/packages/interface/src/transport.ts index 239726b8..68fde4d9 100644 --- a/packages/interface/src/transport.ts +++ b/packages/interface/src/transport.ts @@ -26,7 +26,7 @@ export interface Channel> extends Phantom { request>>( request: HTTPRequest ): Await>> - url: URL + url?: URL } export interface RequestEncoder { diff --git a/packages/transport/test/https.spec.js b/packages/transport/test/https.spec.js index 2e1ece8e..db7c51ff 100644 --- a/packages/transport/test/https.spec.js +++ b/packages/transport/test/https.spec.js @@ -97,5 +97,5 @@ test('should expose url', async () => { } }, }) - assert.equal(channel.url.toString(), 'https://ucan.xyz/') + assert.equal(channel.url?.toString(), 'https://ucan.xyz/') }) \ No newline at end of file