From 6a8a07deefbce3d1e82808cbb8c75ceb12bec99b Mon Sep 17 00:00:00 2001 From: Ambrose Chua Date: Thu, 30 Sep 2021 11:00:44 +0800 Subject: [PATCH] Add more headers --- fixtures/fetch.js | 75 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/fixtures/fetch.js b/fixtures/fetch.js index 3f9f671..74b7152 100644 --- a/fixtures/fetch.js +++ b/fixtures/fetch.js @@ -1,16 +1,85 @@ const tests = { fetch: { + async acceptCookie() { + try { + const ctrl = new AbortController(); + setTimeout(() => ctrl.abort(), 5000); + const response = await fetch('https://httpbin.org/get', { + headers: {'Cookie': 'overwrote-cookie'}, + signal: ctrl.signal, + }); + const o = await response.json(); + return `Cookie: ${o.headers['Cookie']}`; + } catch (error) { + return error.toString(); + } + }, + async acceptReferer() { + try { + const ctrl = new AbortController(); + setTimeout(() => ctrl.abort(), 5000); + const response = await fetch('https://httpbin.org/get', { + headers: {'Referer': 'overwrote-referer'}, + signal: ctrl.signal, + }); + const o = await response.json(); + return `Referer: ${o.headers['Referer']}`; + } catch (error) { + return error.toString(); + } + }, + async acceptKeepAlive() { + try { + const ctrl = new AbortController(); + setTimeout(() => ctrl.abort(), 5000); + const response = await fetch('https://httpbin.org/get', { + headers: {'Keep-Alive': 'timeout=5, max=1000'}, + signal: ctrl.signal, + }); + const o = await response.json(); + return `Keep-Alive: ${o.headers['Keep-Alive']}`; + } catch (error) { + return error.toString(); + } + }, + async acceptDate() { + try { + const ctrl = new AbortController(); + setTimeout(() => ctrl.abort(), 5000); + const response = await fetch('https://httpbin.org/get', { + headers: {'Date': 'overwrote-date'}, + signal: ctrl.signal, + }); + const o = await response.json(); + return `Date: ${o.headers['Date']}`; + } catch (error) { + return error.toString(); + } + }, + async acceptHost() { + try { + const ctrl = new AbortController(); + setTimeout(() => ctrl.abort(), 5000); + const response = await fetch('https://httpbin.org/get', { + headers: {'Host': 'overwrote-host.example.com'}, + signal: ctrl.signal, + }); + const o = await response.json(); + return `Host: ${o.headers['Host']}`; + } catch (error) { + return error.toString(); + } + }, async acceptContentLength() { try { const ctrl = new AbortController(); setTimeout(() => ctrl.abort(), 5000); const response = await fetch('https://httpbin.org/get', { - headers: {'Content-Length': 2}, + headers: {'Content-Length': '2'}, signal: ctrl.signal, }); const o = await response.json(); - const length = o.headers['Content-Length']; - return `Content-Length: ${length}`; + return `Content-Length: ${o.headers['Content-Length']}`; } catch (error) { return error.toString(); }