@iotize/tap
Version:
IoTize Device client for Javascript
21 lines (20 loc) • 964 B
TypeScript
import { Decoder, Encoder } from '@iotize/common/converter/api';
import { Observable } from 'rxjs';
import { TapRequestFrame, TapResponseFrame } from './generated/models';
import { TapClientInterface } from './tap-client.interface';
export interface EncryptionAlgo extends Encoder<Uint8Array, Uint8Array>, Decoder<Uint8Array, Uint8Array> {
setOptions(options: any): void;
}
export interface ExecutionContext {
request: TapRequestFrame;
bodyDecoder?: any;
client: TapClientInterface;
}
export interface RequestHandler {
handle(req: ExecutionContext): Observable<TapResponseFrame>;
}
export interface RequestInterceptor {
intercept(req: ExecutionContext, next: RequestHandler): Observable<TapResponseFrame>;
}
export declare type RequestInterceptorFct = (req: ExecutionContext, next: RequestHandler) => Observable<TapResponseFrame>;
export declare type RequestInterceptorType = RequestInterceptorFct | RequestInterceptor;