@wepublish/api
Version:
API core for we.publish.
34 lines • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImageFetcherService = void 0;
const tslib_1 = require("tslib");
const axios_1 = require("@nestjs/axios");
const rxjs_1 = require("rxjs");
const common_1 = require("@nestjs/common");
let ImageFetcherService = exports.ImageFetcherService = class ImageFetcherService {
constructor(httpService) {
this.httpService = httpService;
}
fetch(url, filename = 'transformed-image.jpg') {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
try {
const { data: arrayBuffer, headers } = yield (0, rxjs_1.firstValueFrom)(this.httpService.get(url, { responseType: 'arraybuffer' }));
const mimetype = headers['content-type'];
const arrayBufferUpload = {
filename,
mimetype,
arrayBuffer
};
return arrayBufferUpload;
}
catch (error) {
throw Error('Error fetching and transforming image');
}
});
}
};
exports.ImageFetcherService = ImageFetcherService = tslib_1.__decorate([
(0, common_1.Injectable)(),
tslib_1.__metadata("design:paramtypes", [axios_1.HttpService])
], ImageFetcherService);
//# sourceMappingURL=image-fetcher.service.js.map