public serve()

in lib/host.ts [133:157]


    public serve(request: string | Request): Promise<Response> {
        return new Promise<RequestContext>(resolve => {
            if (typeof request === 'string') {
                request = utils.appendMessageOnException(
                    ". Fail to parse request string.",
                    () => { return JSON.parse(<string>request);});
            }

            // Lookup base template and application.
            let base: RequestTemplate = undefined;
            if ((<Request>request).base != null) {
                base = this._requestTemplateManager.getOrLoad((<Request>request).base);
            } else {
                let appName = (<Request>request).application;
                if (appName == null) {
                    throw new Error("Either 'application' or 'base' should be present in request.");
                }
                let app = this.getApplication(appName);
                base = app.defaultRequestTemplate;
            }
            resolve(new RequestContext(base, <Request>request));
        }).then((context: RequestContext) => {
            return context.execute();
        });
    }