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)); }); }