ja-geotiff
Version:
GeoTIFF image decoding in JavaScript
50 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FetchClient = void 0;
const base_js_1 = require("./base.js");
class FetchResponse extends base_js_1.BaseResponse {
/**
* BaseResponse facade for fetch API Response
* @param {Response} response
*/
constructor(response) {
super();
this.response = response;
}
get status() {
return this.response.status;
}
getHeader(name) {
return this.response.headers.get(name);
}
async getData() {
const data = this.response.arrayBuffer
? await this.response.arrayBuffer()
: (await this.response.buffer()).buffer;
return data;
}
}
class FetchClient extends base_js_1.BaseClient {
constructor(url, credentials) {
super(url);
this.credentials = credentials;
}
/**
* @param {{headers: HeadersInit, signal: AbortSignal}} [options={}]
* @returns {Promise<FetchResponse>}
*/
async request({ headers, signal } = {}) {
let url = this.url;
if (Array.isArray(this.url)) {
url = this.url[Math.floor(Math.random() * this.url.length)];
}
const response = await fetch(url, {
headers,
credentials: this.credentials,
signal,
});
return new FetchResponse(response);
}
}
exports.FetchClient = FetchClient;
//# sourceMappingURL=fetch.js.map