UNPKG

@ngx-grpc/core

Version:

Angular gRPC framework: core package

28 lines (27 loc) 1 kB
import { GrpcEvent, GrpcMessage, GrpcRequest } from '@ngx-grpc/common'; import { Observable } from 'rxjs'; import { GrpcHandler } from './grpc-handler'; /** * Interceptor interface which should be implemented for custom interceptors */ export interface GrpcInterceptor { /** * Interceptor entry point * * Example: * * ``` * intercept<Q extends GrpcMessage, S extends GrpcMessage>(request: GrpcRequest<Q, S>, next: GrpcHandler): Observable<GrpcEvent<S>> { * // here do something before request, e.g. patch messages, metadata, etc * * return next.handle(request).pipe( * // here handle all messages, status codes, metadata, errors, retries etc * ); * } * ``` * * @param request intercepted request * @param next current GrpcHandler to pass the messages through */ intercept<Q extends GrpcMessage, S extends GrpcMessage>(request: GrpcRequest<Q, S>, next: GrpcHandler): Observable<GrpcEvent<S>>; }