private static MidFunc DeleteStreamMessage(StreamMessageResource streamMessages) => async(context, next) => { var operation = new DeleteStreamMessageOperation(context.Request); var response = await streamMessages.Delete(operation, context.RequestAborted); await context.WriteResponse(response); };
private static MidFunc GetStreamMessage(StreamMessageResource streamMessages) => async(context, next) => { var operation = new ReadStreamMessageByStreamVersionOperation(context.Request); var response = await streamMessages.Get(operation, context.RequestAborted); await context.WriteResponse(response); };
public static IApplicationBuilder UseStreamMessages( this IApplicationBuilder builder, StreamMessageResource streamMessages) => builder .UseMiddlewareLogging(typeof(StreamMessageMiddleware)) .UseAllowedMethods(streamMessages) .MapWhen( context => Guid.TryParse(GetParameter(context), out _), inner => inner.UseByMessageId(streamMessages)) .MapWhen( context => int.TryParse(GetParameter(context), out _), inner => inner.UseByVersion(streamMessages));
private static Action <IApplicationBuilder> Configure(StreamMessageResource streamMessages) => builder => builder .UseMiddlewareLogging(typeof(StreamMessageMiddleware)) .MapWhen(HttpMethod.Get, inner => inner.UseAccept(Constants.MediaTypes.HalJson).Use(GetStreamMessage(streamMessages))) .MapWhen(HttpMethod.Delete, inner => inner.Use(DeleteStreamMessage(streamMessages))) .UseAllowedMethods(streamMessages);
public static IApplicationBuilder UseStreamMessages( this IApplicationBuilder builder, StreamMessageResource streamMessages) => builder.MapWhen(IsMatch, Configure(streamMessages));