Example #1
0
        public AzureApplication()
            : base()
        {
            Telemetry = EastFive.Azure.AppSettings.ApplicationInsights.InstrumentationKey.LoadTelemetryClient();

            this.AddInstigator(typeof(EastFive.Security.SessionServer.Context),
                               (httpApp, request, parameterInfo, onCreatedSessionContext) => onCreatedSessionContext(this.AzureContext));
            this.AddInstigator(typeof(EastFive.Azure.Functions.InvokeFunction),
                               (httpApp, request, parameterInfo, onCreated) =>
            {
                var baseUriString  = request.RequestUri.GetLeftPart(UriPartial.Authority);
                var baseUri        = new Uri(baseUriString);
                var apiPath        = request.RequestUri.AbsolutePath.Trim('/'.AsArray()).Split('/'.AsArray()).First();
                var invokeFunction = new EastFive.Azure.Functions.InvokeFunction(
                    httpApp as AzureApplication, baseUri, apiPath);
                return(onCreated(invokeFunction));
            });
            this.AddInstigator(typeof(InvokeApplicationDirect),
                               (httpApp, request, parameterInfo, onCreated) =>
            {
                var baseUriString  = request.RequestUri.GetLeftPart(UriPartial.Authority);
                var baseUri        = new Uri(baseUriString);
                var apiPath        = request.RequestUri.AbsolutePath.Trim('/'.AsArray()).Split('/'.AsArray()).First();
                var invokeFunction = new InvokeApplicationDirect(
                    httpApp, baseUri, apiPath);
                return(onCreated(invokeFunction));
            });
        }
        protected override void ConfigureCallback(IApplicationBuilder app, IHostEnvironment env, IRazorViewEngine razorViewEngine)
        {
            base.ConfigureCallback(app, env, razorViewEngine);

            Telemetry = EastFive.Azure.AppSettings.ApplicationInsights.InstrumentationKey.LoadTelemetryClient();

            //this.AddInstigator(typeof(EastFive.Security.SessionServer.Context),
            //    (httpApp, request, parameterInfo, onCreatedSessionContext) => onCreatedSessionContext(this.AzureContext));
            this.AddInstigator(typeof(EastFive.Azure.Functions.InvokeFunction),
                               (httpApp, request, parameterInfo, onCreated) =>
            {
                var baseUriString  = request.RequestUri.GetLeftPart(UriPartial.Authority);
                var baseUri        = new Uri(baseUriString);
                var apiPath        = request.RequestUri.AbsolutePath.Trim('/'.AsArray()).Split('/'.AsArray()).First();
                var invokeFunction = new EastFive.Azure.Functions.InvokeFunction(
                    httpApp as AzureApplication, baseUri, apiPath);
                return(onCreated(invokeFunction));
            });
            this.AddInstigator(typeof(InvokeApplicationDirect),
                               (httpApp, request, parameterInfo, onCreated) =>
            {
                var baseUriString  = request.RequestUri.GetLeftPart(UriPartial.Authority);
                var baseUri        = new Uri(baseUriString);
                var apiPath        = request.RequestUri.AbsolutePath.Trim('/'.AsArray()).Split('/'.AsArray()).First();
                var invokeFunction = new InvokeApplicationDirect(
                    httpApp, baseUri, apiPath, default(CancellationToken));
                return(onCreated(invokeFunction));
            });
        }