package.dist.src.config.middleware.example-async-middleware.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sdk Show documentation
Show all versions of sdk Show documentation
Client SDK for Momento services
The newest version!
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExampleAsyncMiddleware = void 0;
class ExampleAsyncMiddlewareRequestHandler {
constructor(logger) {
this.logger = logger;
}
async onRequestMetadata(metadata) {
this.logger.info('ExampleAsyncMiddleware.onRequestMetadata enter');
await delay(500);
this.logger.info('ExampleAsyncMiddleware.onRequestMetadata exit');
return metadata;
}
async onRequestBody(request) {
this.logger.info('ExampleAsyncMiddleware.onRequestBody enter');
await delay(500);
this.logger.info('ExampleAsyncMiddleware.onRequestBody exit');
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return request;
}
async onResponseMetadata(metadata) {
this.logger.info('ExampleAsyncMiddleware.onResponseMetadata enter');
await delay(500);
this.logger.info('ExampleAsyncMiddleware.onResponseMetadata exit');
return metadata;
}
async onResponseBody(response) {
this.logger.info('ExampleAsyncMiddleware.onResponseBody enter');
await delay(500);
this.logger.info('ExampleAsyncMiddleware.onResponseBody exit');
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return response;
}
async onResponseStatus(status) {
this.logger.info('ExampleAsyncMiddleware.onResponseStatus enter');
await delay(500);
this.logger.info('ExampleAsyncMiddleware.onResponseStatus exit');
return status;
}
}
/**
* This class provides an example of how users can implement a Middleware that
* requires async calls.
*/
class ExampleAsyncMiddleware {
constructor(loggerFactory) {
this.logger = loggerFactory.getLogger(this);
}
onNewRequest() {
this.logger.info('ExampleAsyncMiddleware handling new request');
return new ExampleAsyncMiddlewareRequestHandler(this.logger);
}
}
exports.ExampleAsyncMiddleware = ExampleAsyncMiddleware;
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1hc3luYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbmZpZy9taWRkbGV3YXJlL2V4YW1wbGUtYXN5bmMtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxNQUFNLG9DQUFvQztJQUd4QyxZQUFZLE1BQXFCO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLFFBQTRCO1FBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7UUFDbkUsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNsRSxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUEwQjtRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDOUQsK0RBQStEO1FBQy9ELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLFFBQTRCO1FBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDcEUsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUNuRSxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FDbEIsUUFBa0M7UUFFbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNoRSxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQy9ELCtEQUErRDtRQUMvRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQXdCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUNqRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLHNCQUFzQjtJQUdqQyxZQUFZLGFBQW1DO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFWRCx3REFVQztBQUVELFNBQVMsS0FBSyxDQUFDLEVBQVU7SUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTWlkZGxld2FyZSxcbiAgTWlkZGxld2FyZU1lc3NhZ2UsXG4gIE1pZGRsZXdhcmVNZXRhZGF0YSxcbiAgTWlkZGxld2FyZVJlcXVlc3RIYW5kbGVyLFxuICBNaWRkbGV3YXJlU3RhdHVzLFxufSBmcm9tICcuL21pZGRsZXdhcmUnO1xuXG5pbXBvcnQge01vbWVudG9Mb2dnZXIsIE1vbWVudG9Mb2dnZXJGYWN0b3J5fSBmcm9tICcuLi8uLic7XG5cbmNsYXNzIEV4YW1wbGVBc3luY01pZGRsZXdhcmVSZXF1ZXN0SGFuZGxlciBpbXBsZW1lbnRzIE1pZGRsZXdhcmVSZXF1ZXN0SGFuZGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2dlcjogTW9tZW50b0xvZ2dlcikge1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICB9XG5cbiAgYXN5bmMgb25SZXF1ZXN0TWV0YWRhdGEoXG4gICAgbWV0YWRhdGE6IE1pZGRsZXdhcmVNZXRhZGF0YVxuICApOiBQcm9taXNlPE1pZGRsZXdhcmVNZXRhZGF0YT4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ0V4YW1wbGVBc3luY01pZGRsZXdhcmUub25SZXF1ZXN0TWV0YWRhdGEgZW50ZXInKTtcbiAgICBhd2FpdCBkZWxheSg1MDApO1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ0V4YW1wbGVBc3luY01pZGRsZXdhcmUub25SZXF1ZXN0TWV0YWRhdGEgZXhpdCcpO1xuICAgIHJldHVybiBtZXRhZGF0YTtcbiAgfVxuXG4gIGFzeW5jIG9uUmVxdWVzdEJvZHkocmVxdWVzdDogTWlkZGxld2FyZU1lc3NhZ2UpOiBQcm9taXNlPE1pZGRsZXdhcmVNZXNzYWdlPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnRXhhbXBsZUFzeW5jTWlkZGxld2FyZS5vblJlcXVlc3RCb2R5IGVudGVyJyk7XG4gICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdFeGFtcGxlQXN5bmNNaWRkbGV3YXJlLm9uUmVxdWVzdEJvZHkgZXhpdCcpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgYXN5bmMgb25SZXNwb25zZU1ldGFkYXRhKFxuICAgIG1ldGFkYXRhOiBNaWRkbGV3YXJlTWV0YWRhdGFcbiAgKTogUHJvbWlzZTxNaWRkbGV3YXJlTWV0YWRhdGE+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdFeGFtcGxlQXN5bmNNaWRkbGV3YXJlLm9uUmVzcG9uc2VNZXRhZGF0YSBlbnRlcicpO1xuICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnRXhhbXBsZUFzeW5jTWlkZGxld2FyZS5vblJlc3BvbnNlTWV0YWRhdGEgZXhpdCcpO1xuICAgIHJldHVybiBtZXRhZGF0YTtcbiAgfVxuXG4gIGFzeW5jIG9uUmVzcG9uc2VCb2R5KFxuICAgIHJlc3BvbnNlOiBNaWRkbGV3YXJlTWVzc2FnZSB8IG51bGxcbiAgKTogUHJvbWlzZTxNaWRkbGV3YXJlTWVzc2FnZSB8IG51bGw+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdFeGFtcGxlQXN5bmNNaWRkbGV3YXJlLm9uUmVzcG9uc2VCb2R5IGVudGVyJyk7XG4gICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdFeGFtcGxlQXN5bmNNaWRkbGV3YXJlLm9uUmVzcG9uc2VCb2R5IGV4aXQnKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm5cbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBhc3luYyBvblJlc3BvbnNlU3RhdHVzKHN0YXR1czogTWlkZGxld2FyZVN0YXR1cyk6IFByb21pc2U8TWlkZGxld2FyZVN0YXR1cz4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ0V4YW1wbGVBc3luY01pZGRsZXdhcmUub25SZXNwb25zZVN0YXR1cyBlbnRlcicpO1xuICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnRXhhbXBsZUFzeW5jTWlkZGxld2FyZS5vblJlc3BvbnNlU3RhdHVzIGV4aXQnKTtcbiAgICByZXR1cm4gc3RhdHVzO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhbiBleGFtcGxlIG9mIGhvdyB1c2VycyBjYW4gaW1wbGVtZW50IGEgTWlkZGxld2FyZSB0aGF0XG4gKiByZXF1aXJlcyBhc3luYyBjYWxscy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4YW1wbGVBc3luY01pZGRsZXdhcmUgaW1wbGVtZW50cyBNaWRkbGV3YXJlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IE1vbWVudG9Mb2dnZXI7XG5cbiAgY29uc3RydWN0b3IobG9nZ2VyRmFjdG9yeTogTW9tZW50b0xvZ2dlckZhY3RvcnkpIHtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMpO1xuICB9XG4gIG9uTmV3UmVxdWVzdCgpOiBNaWRkbGV3YXJlUmVxdWVzdEhhbmRsZXIge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ0V4YW1wbGVBc3luY01pZGRsZXdhcmUgaGFuZGxpbmcgbmV3IHJlcXVlc3QnKTtcbiAgICByZXR1cm4gbmV3IEV4YW1wbGVBc3luY01pZGRsZXdhcmVSZXF1ZXN0SGFuZGxlcih0aGlzLmxvZ2dlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVsYXkobXM6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG4iXX0=