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)); }); }
public static async Task <HttpResponseMessage> RunAsync( [UpdateId] IRefs <InvocationMessage> invocationMessageRefs, [HeaderLog] EastFive.Analytics.ILogger analyticsLog, InvokeApplicationDirect invokeApplication, MultipartResponseAsync onRun) { var messages = await invocationMessageRefs.refs .Select(invocationMessageRef => InvokeAsync(invocationMessageRef, invokeApplication, logging: analyticsLog)) .AsyncEnumerable() .ToArrayAsync(); return(await onRun(messages)); }
public static Task <HttpResponseMessage> ListAsync( [QueryParameter(Name = "last_modified")] DateTime day, [HeaderLog] EastFive.Analytics.ILogger analyticsLog, InvokeApplicationDirect invokeApplication, MultipartResponseAsync <InvocationMessage> onRun) { Expression <Func <InvocationMessage, bool> > expr = (im) => true; var messages = expr .StorageQuery() .Where(msg => DateTime.UtcNow - msg.lastModified < TimeSpan.FromDays(3.0)); return(onRun(messages)); }
public static IHttpResponse InvokeAsync( [UpdateId] IRefs <InvocationMessage> invocationMessageRefs, [HeaderLog] ILogger analyticsLog, InvokeApplicationDirect invokeApplication, CancellationToken cancellationToken, MultipartAsyncResponse <IHttpResponse> onRun) { var messages = invocationMessageRefs.refs .Select( invocationMessageRef => InvokeAsync(invocationMessageRef, invokeApplication, logging: new EventLogger(analyticsLog), cancellationToken: cancellationToken)) .AsyncEnumerable(); return(onRun(messages)); }