nice-grpc-client-middleware-deadline
Client middleware for nice-grpc that
adds support for setting deadline for a call, after which the call will get
cancelled, and a ClientError
with status code DEADLINE_EXCEEDED
will be
thrown.
Installation
npm install nice-grpc-client-middleware-deadline
Usage
import {
createClientFactory,
createChannel,
ClientError,
Status,
} from 'nice-grpc';
import {deadlineMiddleware} from 'nice-grpc-client-middleware-deadline';
import {addSeconds} from 'date-fns';
const clientFactory = createClientFactory().use(deadlineMiddleware);
const channel = createChannel(address);
const client = clientFactory.create(ExampleService, channel);
try {
const response = await client.exampleMethod(request, {
deadline: addSeconds(new Date(), 15),
});
} catch (error: unknown) {
if (error instanceof ClientError && error.code === Status.DEADLINE_EXCEEDED) {
} else {
throw error;
}
}