public constructor()

in lib/request-template.ts [60:91]


    public constructor(
        uri: string,
        app: Application,
        base: RequestTemplate,
        def: RequestTemplateDef) {

        assert(uri != null);
        assert(app != null);

        this._uri = uri;
        this._app = app;
        this._base = base;

        // Create request-template level object context.
        let parentContext: ScopedObjectContext = 
            base != null ? base.objectContext : app.objectContext;

        let contextDef = new ScopedObjectContextDef(
                parentContext.def,
                def.overrideTypes,
                def.overrideProviders,
                def.overrideObjects,
                true
            );

        this._objectContext = new ScopedObjectContext(
                `template:${uri}`,
                app.objectContext.baseDir,       // We always use application base dir to resolve paths in request template definition.
                parentContext,
                contextDef
            );
    }