UNPKG

@microsoft/dev-tunnels-ssh

Version:

SSH library for Dev Tunnels

44 lines 2 kB
import { SshServiceConstructor } from './sshService'; /** * Decorator applied to suclasses of `SshService` that declares how the service gets activated. */ export declare function serviceActivation(activation: ServiceActivation): (constructor: Function) => void; /** * Rules for how a service gets activated for an SSH session. */ export interface ServiceActivation { /** * Activate the service when a service request is received for the specified name. * * Only server-side services can be activated using a service request from the client. * (Other activation methods can work in either direction.) */ readonly serviceRequest?: string; /** * Activate the service when a session request is received for the specified request type. */ readonly sessionRequest?: string; /** * Activate the service when a request is received to open a channel of the specified * channel type. */ readonly channelType?: string; /** * Activate the service when a channel request is received for the specified channel * request type. * * If both `channelType` and `channelRequest` are set, then the service is activated only * when the specified request is received on the specified channel type. */ readonly channelRequest?: string; } /** * Locates a service type in configuration, using a predicate to check service activation * attributes. * * @param serviceConfigs Service configuration dictionary from `SshSessionConfiguration.services`. * @param predicate Function to test whether a service activation attribute matches some condition. * @returns Service type (constructor), or null if no service type satisfies the predicate. */ export declare function findService(serviceConfigs: Map<SshServiceConstructor, any>, predicate: (activation: ServiceActivation) => boolean): SshServiceConstructor | null; //# sourceMappingURL=serviceActivation.d.ts.map