geturl.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. "use strict";
  2. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  3. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  4. return new (P || (P = Promise))(function (resolve, reject) {
  5. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  6. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  7. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  8. step((generator = generator.apply(thisArg, _arguments || [])).next());
  9. });
  10. };
  11. import { arrayify } from "@ethersproject/bytes";
  12. export function getUrl(href, options) {
  13. return __awaiter(this, void 0, void 0, function* () {
  14. if (options == null) {
  15. options = {};
  16. }
  17. const request = {
  18. method: (options.method || "GET"),
  19. headers: (options.headers || {}),
  20. body: (options.body || undefined),
  21. };
  22. if (options.skipFetchSetup !== true) {
  23. request.mode = "cors"; // no-cors, cors, *same-origin
  24. request.cache = "no-cache"; // *default, no-cache, reload, force-cache, only-if-cached
  25. request.credentials = "same-origin"; // include, *same-origin, omit
  26. request.redirect = "follow"; // manual, *follow, error
  27. request.referrer = "client"; // no-referrer, *client
  28. }
  29. ;
  30. const response = yield fetch(href, request);
  31. const body = yield response.arrayBuffer();
  32. const headers = {};
  33. if (response.headers.forEach) {
  34. response.headers.forEach((value, key) => {
  35. headers[key.toLowerCase()] = value;
  36. });
  37. }
  38. else {
  39. ((response.headers).keys)().forEach((key) => {
  40. headers[key.toLowerCase()] = response.headers.get(key);
  41. });
  42. }
  43. return {
  44. headers: headers,
  45. statusCode: response.status,
  46. statusMessage: response.statusText,
  47. body: arrayify(new Uint8Array(body)),
  48. };
  49. });
  50. }
  51. //# sourceMappingURL=geturl.js.map