@ethersproject/web
Advanced tools
Comparing version 5.0.0-beta.136 to 5.0.0-beta.137
@@ -1,1 +0,1 @@ | ||
export declare const version = "web/5.0.0-beta.136"; | ||
export declare const version = "web/5.0.0-beta.137"; |
@@ -1,1 +0,1 @@ | ||
export const version = "web/5.0.0-beta.136"; | ||
export const version = "web/5.0.0-beta.137"; |
@@ -25,3 +25,2 @@ export declare type ConnectionInfo = { | ||
statusCode: number; | ||
status: string; | ||
headers: { | ||
@@ -28,0 +27,0 @@ [header: string]: string; |
@@ -11,3 +11,2 @@ "use strict"; | ||
}; | ||
import fetch from "cross-fetch"; | ||
import { encode as base64Encode } from "@ethersproject/base64"; | ||
@@ -19,20 +18,3 @@ import { shallowCopy } from "@ethersproject/properties"; | ||
const logger = new Logger(version); | ||
function getResponse(response) { | ||
const headers = {}; | ||
if (response.headers.forEach) { | ||
response.headers.forEach((value, key) => { | ||
headers[key.toLowerCase()] = value; | ||
}); | ||
} | ||
else { | ||
((response.headers).keys)().forEach((key) => { | ||
headers[key.toLowerCase()] = response.headers.get(key); | ||
}); | ||
} | ||
return { | ||
statusCode: response.status, | ||
status: response.statusText, | ||
headers: headers | ||
}; | ||
} | ||
import { getUrl } from "./geturl"; | ||
export function fetchJson(connection, json, processFunc) { | ||
@@ -44,7 +26,2 @@ const headers = {}; | ||
method: "GET", | ||
mode: "cors", | ||
cache: "no-cache", | ||
credentials: "same-origin", | ||
redirect: "follow", | ||
referrer: "client", | ||
}; | ||
@@ -119,28 +96,22 @@ let allow304 = false; | ||
let response = null; | ||
let body = null; | ||
while (true) { | ||
try { | ||
response = yield fetch(url, options); | ||
} | ||
catch (error) { | ||
console.log(error); | ||
} | ||
body = yield response.text(); | ||
if (allow304 && response.status === 304) { | ||
body = null; | ||
break; | ||
} | ||
else if (!response.ok) { | ||
runningTimeout.cancel(); | ||
logger.throwError("bad response", Logger.errors.SERVER_ERROR, { | ||
status: response.status, | ||
body: body, | ||
type: response.type, | ||
url: response.url | ||
}); | ||
} | ||
else { | ||
break; | ||
} | ||
try { | ||
response = yield getUrl(url, options); | ||
} | ||
catch (error) { | ||
console.log(error); | ||
response = error.response; | ||
} | ||
let body = response.body; | ||
if (allow304 && response.statusCode === 304) { | ||
body = null; | ||
} | ||
else if (response.statusCode < 200 || response.statusCode >= 300) { | ||
runningTimeout.cancel(); | ||
logger.throwError("bad response", Logger.errors.SERVER_ERROR, { | ||
status: response.statusCode, | ||
headers: response.headers, | ||
body: body, | ||
url: url | ||
}); | ||
} | ||
runningTimeout.cancel(); | ||
@@ -162,3 +133,3 @@ let json = null; | ||
try { | ||
json = yield processFunc(json, getResponse(response)); | ||
json = yield processFunc(json, response); | ||
} | ||
@@ -165,0 +136,0 @@ catch (error) { |
@@ -1,1 +0,1 @@ | ||
export declare const version = "web/5.0.0-beta.136"; | ||
export declare const version = "web/5.0.0-beta.137"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.version = "web/5.0.0-beta.136"; | ||
exports.version = "web/5.0.0-beta.137"; |
@@ -25,3 +25,2 @@ export declare type ConnectionInfo = { | ||
statusCode: number; | ||
status: string; | ||
headers: { | ||
@@ -28,0 +27,0 @@ [header: string]: string; |
@@ -38,7 +38,3 @@ "use strict"; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var cross_fetch_1 = __importDefault(require("cross-fetch")); | ||
var base64_1 = require("@ethersproject/base64"); | ||
@@ -50,20 +46,3 @@ var properties_1 = require("@ethersproject/properties"); | ||
var logger = new logger_1.Logger(_version_1.version); | ||
function getResponse(response) { | ||
var headers = {}; | ||
if (response.headers.forEach) { | ||
response.headers.forEach(function (value, key) { | ||
headers[key.toLowerCase()] = value; | ||
}); | ||
} | ||
else { | ||
((response.headers).keys)().forEach(function (key) { | ||
headers[key.toLowerCase()] = response.headers.get(key); | ||
}); | ||
} | ||
return { | ||
statusCode: response.status, | ||
status: response.statusText, | ||
headers: headers | ||
}; | ||
} | ||
var geturl_1 = require("./geturl"); | ||
function fetchJson(connection, json, processFunc) { | ||
@@ -75,7 +54,2 @@ var headers = {}; | ||
method: "GET", | ||
mode: "cors", | ||
cache: "no-cache", | ||
credentials: "same-origin", | ||
redirect: "follow", | ||
referrer: "client", | ||
}; | ||
@@ -149,3 +123,3 @@ var allow304 = false; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var response, body, error_1, json, error_2; | ||
var response, error_1, body, json, error_2; | ||
return __generator(this, function (_a) { | ||
@@ -155,38 +129,28 @@ switch (_a.label) { | ||
response = null; | ||
body = null; | ||
_a.label = 1; | ||
case 1: | ||
if (!true) return [3 /*break*/, 7]; | ||
_a.label = 2; | ||
_a.trys.push([1, 3, , 4]); | ||
return [4 /*yield*/, geturl_1.getUrl(url, options)]; | ||
case 2: | ||
_a.trys.push([2, 4, , 5]); | ||
return [4 /*yield*/, cross_fetch_1.default(url, options)]; | ||
response = _a.sent(); | ||
return [3 /*break*/, 4]; | ||
case 3: | ||
response = _a.sent(); | ||
return [3 /*break*/, 5]; | ||
case 4: | ||
error_1 = _a.sent(); | ||
console.log(error_1); | ||
return [3 /*break*/, 5]; | ||
case 5: return [4 /*yield*/, response.text()]; | ||
case 6: | ||
body = _a.sent(); | ||
if (allow304 && response.status === 304) { | ||
response = error_1.response; | ||
return [3 /*break*/, 4]; | ||
case 4: | ||
body = response.body; | ||
if (allow304 && response.statusCode === 304) { | ||
body = null; | ||
return [3 /*break*/, 7]; | ||
} | ||
else if (!response.ok) { | ||
else if (response.statusCode < 200 || response.statusCode >= 300) { | ||
runningTimeout.cancel(); | ||
logger.throwError("bad response", logger_1.Logger.errors.SERVER_ERROR, { | ||
status: response.status, | ||
status: response.statusCode, | ||
headers: response.headers, | ||
body: body, | ||
type: response.type, | ||
url: response.url | ||
url: url | ||
}); | ||
} | ||
else { | ||
return [3 /*break*/, 7]; | ||
} | ||
return [3 /*break*/, 1]; | ||
case 7: | ||
runningTimeout.cancel(); | ||
@@ -206,11 +170,11 @@ json = null; | ||
} | ||
if (!processFunc) return [3 /*break*/, 11]; | ||
_a.label = 8; | ||
case 8: | ||
_a.trys.push([8, 10, , 11]); | ||
return [4 /*yield*/, processFunc(json, getResponse(response))]; | ||
case 9: | ||
if (!processFunc) return [3 /*break*/, 8]; | ||
_a.label = 5; | ||
case 5: | ||
_a.trys.push([5, 7, , 8]); | ||
return [4 /*yield*/, processFunc(json, response)]; | ||
case 6: | ||
json = _a.sent(); | ||
return [3 /*break*/, 11]; | ||
case 10: | ||
return [3 /*break*/, 8]; | ||
case 7: | ||
error_2 = _a.sent(); | ||
@@ -221,4 +185,4 @@ logger.throwError("processing response error", logger_1.Logger.errors.SERVER_ERROR, { | ||
}); | ||
return [3 /*break*/, 11]; | ||
case 11: return [2 /*return*/, json]; | ||
return [3 /*break*/, 8]; | ||
case 8: return [2 /*return*/, json]; | ||
} | ||
@@ -225,0 +189,0 @@ }); |
{ | ||
"author": "Richard Moore <me@ricmoo.com>", | ||
"browser": { | ||
"./lib/geturl": "./lib/browser-geturl.js" | ||
}, | ||
"browser.esm": { | ||
"./lib.esm/geturl": "./lib.esm/browser-geturl.js" | ||
}, | ||
"browser.umd": { | ||
"./lib/geturl": "./lib/browser-geturl.js" | ||
}, | ||
"dependencies": { | ||
@@ -7,4 +16,3 @@ "@ethersproject/base64": ">=5.0.0-beta.126", | ||
"@ethersproject/properties": ">=5.0.0-beta.131", | ||
"@ethersproject/strings": ">=5.0.0-beta.130", | ||
"cross-fetch": "3.0.4" | ||
"@ethersproject/strings": ">=5.0.0-beta.130" | ||
}, | ||
@@ -31,5 +39,5 @@ "description": "Utility fucntions for managing web requests for ethers.", | ||
}, | ||
"tarballHash": "0xa50a391e8106fcabd98b0c1e058d9d90c2e369689b08e42d88f59709785ff89f", | ||
"tarballHash": "0x61705e91a9250f3d5b7cbf031c2aff7c41be3557228d156de9b27bed652ac282", | ||
"types": "./lib/index.d.ts", | ||
"version": "5.0.0-beta.136" | ||
"version": "5.0.0-beta.137" | ||
} |
@@ -1,17 +0,4 @@ | ||
declare module "xmlhttprequest" { | ||
export class XMLHttpRequest { | ||
readyState: number; | ||
status: number; | ||
responseText: string; | ||
constructor(); | ||
open(method: string, url: string, async?: boolean): void; | ||
setRequestHeader(key: string, value: string): void; | ||
send(body?: string): void; | ||
abort(): void; | ||
onreadystatechange: () => void; | ||
onerror: (error: Error) => void; | ||
} | ||
declare module "node-fetch" { | ||
function fetch(url: string, options: any): Promise<Response>; | ||
export default fetch; | ||
} | ||
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
41457
4
20
962
6
- Removedcross-fetch@3.0.4
- Removedcross-fetch@3.0.4(transitive)
- Removednode-fetch@2.6.0(transitive)
- Removedwhatwg-fetch@3.0.0(transitive)