fetch.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.FetchClient = void 0;
  4. const base_js_1 = require("./base.js");
  5. class FetchResponse extends base_js_1.BaseResponse {
  6. /**
  7. * BaseResponse facade for fetch API Response
  8. * @param {Response} response
  9. */
  10. constructor(response) {
  11. super();
  12. this.response = response;
  13. }
  14. get status() {
  15. return this.response.status;
  16. }
  17. getHeader(name) {
  18. return this.response.headers.get(name);
  19. }
  20. async getData() {
  21. const data = this.response.arrayBuffer
  22. ? await this.response.arrayBuffer()
  23. : (await this.response.buffer()).buffer;
  24. return data;
  25. }
  26. }
  27. class FetchClient extends base_js_1.BaseClient {
  28. constructor(url, credentials) {
  29. super(url);
  30. this.credentials = credentials;
  31. }
  32. async request({ headers, credentials, signal } = {}) {
  33. const response = await fetch(this.url, {
  34. headers, credentials, signal,
  35. });
  36. return new FetchResponse(response);
  37. }
  38. }
  39. exports.FetchClient = FetchClient;
  40. //# sourceMappingURL=fetch.js.map