service-model
Version:
An object oriented web service framework inspired by Windows Communication Foundation.
48 lines (47 loc) • 1.49 kB
TypeScript
import { DispatchEndpoint } from "./dispatchEndpoint";
import { RequestDispatcher } from "./requestDispatcher";
import { Message } from "../message";
import { RequestContext } from "../operationContext";
/**
* Represents a service in the dispatcher. Exposes the configuration options for the service.
*
* <uml>
* hide members
* hide circle
* RequestDispatcher *-- DispatchService : services
* DispatchService *-- DispatchEndpoint : endpoints
* DispatchService *- InstanceProvider : instanceProvider
* </uml>
*/
export declare class DispatchService {
dispatcher: RequestDispatcher;
name: string;
endpoints: DispatchEndpoint[];
instanceProvider: InstanceProvider;
/**
* Specifies whether to create an [[OperationContext]] for operations in this service. The default value is 'false'.
*/
createOperationContext: boolean;
constructor(dispatcher: RequestDispatcher, name: string);
/**
* Validates that the service is correctly configured.
*/
validate(): void;
/**
* Throws a configuration error.
* @param message A message to display
* @hidden
*/
private _throwConfigError(message);
}
/**
* Describes a type that can provide service insteances.
*/
export interface InstanceProvider {
/**
* Gets an instance of a service.
* @param message The request message.
* @param request The request context.
*/
getInstance(message: Message, request: RequestContext): Object;
}