@kylewebb/aws-sig-v4
Version:
NestJS http client library with automatic aws v4 request signing
71 lines • 2.98 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var AwsV4HttpModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwsV4HttpModule = void 0;
const common_1 = require("@nestjs/common");
const http_constants_1 = require("@nestjs/common/http/http.constants");
const axios_1 = require("axios");
const axios_2 = require("@nestjs/axios");
const aws_v4_http_service_1 = require("./aws-v4-http.service");
const constants_1 = require("./constants");
let AwsV4HttpModule = AwsV4HttpModule_1 = class AwsV4HttpModule {
static register(config) {
return {
module: AwsV4HttpModule_1,
imports: [axios_2.HttpModule],
providers: [
aws_v4_http_service_1.AwsV4HttpService,
{
provide: http_constants_1.AXIOS_INSTANCE_TOKEN,
useValue: axios_1.default.create(config),
},
{
provide: constants_1.AWS_V4_HTTP_MODULE_OPTIONS,
useValue: config,
},
],
exports: [aws_v4_http_service_1.AwsV4HttpService],
};
}
static registerAsync(config) {
return {
module: AwsV4HttpModule_1,
imports: [axios_2.HttpModule, ...config.imports],
providers: [
aws_v4_http_service_1.AwsV4HttpService,
{
provide: http_constants_1.AXIOS_INSTANCE_TOKEN,
useFactory: (config) => axios_1.default.create(config),
inject: [constants_1.AWS_V4_HTTP_MODULE_OPTIONS],
},
{
provide: constants_1.AWS_V4_HTTP_MODULE_OPTIONS,
useFactory: config.useFactory,
inject: config.inject,
},
],
exports: [aws_v4_http_service_1.AwsV4HttpService],
};
}
};
AwsV4HttpModule = AwsV4HttpModule_1 = __decorate([
(0, common_1.Module)({
imports: [axios_2.HttpModule],
providers: [
aws_v4_http_service_1.AwsV4HttpService,
{
provide: http_constants_1.AXIOS_INSTANCE_TOKEN,
useValue: axios_1.default,
},
],
exports: [aws_v4_http_service_1.AwsV4HttpService],
})
], AwsV4HttpModule);
exports.AwsV4HttpModule = AwsV4HttpModule;
//# sourceMappingURL=aws-v4-http.module.js.map