import { setGetImageRequest, type ImageSourceLike } from './http-shared'; import { request } from './http-request'; export { request } from './http-request'; export * from './http-interfaces'; export function getString(arg: any): Promise { return new Promise((resolve, reject) => { request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg).then( (r) => { try { const str = r.content.toString(); resolve(str); } catch (e) { reject(e); } }, (e) => reject(e), ); }); } export function getJSON(arg: any): Promise { return new Promise((resolve, reject) => { request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg).then( (r) => { try { const json = r.content.toJSON(); resolve(json); } catch (e) { reject(e); } }, (e) => reject(e), ); }); } export function getImage(arg: any): Promise { return new Promise((resolve, reject) => { request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg).then( (r) => { try { resolve(r.content.toImage()); } catch (err) { reject(err); } }, (err) => { reject(err); }, ); }); } setGetImageRequest(getImage); export function getFile(arg: any, destinationFilePath?: string): Promise { return new Promise((resolve, reject) => { request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg).then( (r) => { try { const file = r.content.toFile(destinationFilePath); resolve(file); } catch (e) { reject(e); } }, (e) => reject(e), ); }); } export function getBinary(arg: any): Promise { return new Promise((resolve, reject) => { request(typeof arg === 'string' ? { url: arg, method: 'GET' } : arg).then( (r) => { try { const arrayBuffer = r.content.toArrayBuffer(); resolve(arrayBuffer); } catch (e) { reject(e); } }, (e) => reject(e), ); }); }