Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit a9b1ae9

Browse files
DRY
1 parent 1958746 commit a9b1ae9

5 files changed

Lines changed: 34 additions & 28 deletions

File tree

src/SqlStreamStore.HAL/AppendStreamMiddleware.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static MidFunc UseStreamStore(IStreamStore streamStore)
2727
}
2828

2929
private static bool IsStream(IOwinContext context)
30-
=> context.IsPost() && context.Request.Path.Value?.Length > 1;
30+
=> context.IsPost() && context.Request.Path.IsStream();
3131

3232
private static MidFunc AppendStream(StreamResource stream) => next => async env =>
3333
{

src/SqlStreamStore.HAL/DeleteStreamMiddleware.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ public static MidFunc UseStreamStore(IStreamStore streamStore)
2727
}
2828

2929
private static bool IsStream(IOwinContext context)
30-
=> context.IsDelete() && context.Request.Path.Value?.Length > 1;
31-
30+
=> context.IsDelete() && context.Request.Path.IsStream();
3231

3332
private static MidFunc DeleteStream(StreamResource stream) => next => async env =>
3433
{
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
namespace SqlStreamStore.HAL
2+
{
3+
using Microsoft.Owin;
4+
5+
internal static class PathStringExtensions
6+
{
7+
public static bool IsAllStream(this PathString requestPath)
8+
=> !requestPath.HasValue;
9+
10+
public static bool IsAllStreamMessage(this PathString requestPath)
11+
=> long.TryParse(requestPath.Value?.Remove(0, 1), out var _);
12+
13+
public static bool IsStream(this PathString requestPath)
14+
=> requestPath.Value?.Length > 1;
15+
16+
public static bool IsStreamMessage(this PathString requestPath)
17+
=> requestPath.Value?.Split('/')?.Length == 3;
18+
}
19+
}

src/SqlStreamStore.HAL/ReadAllStreamMiddleware.cs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ public static MidFunc UseStreamStore(IReadonlyStreamStore streamStore)
1818
var allStream = new AllStreamResource(streamStore);
1919

2020
var builder = new AppBuilder()
21-
.MapWhen(IsStream, inner => inner.Use(GetStream(allStream)))
21+
.MapWhen(IsAllStream, inner => inner.Use(GetStream(allStream)))
2222
.MapWhen(IsStreamOptions, inner => inner.Use(GetStreamOptions))
23-
.MapWhen(IsStreamMessage, inner => inner.Use(GetStreamMessage(allStream)))
23+
.MapWhen(IsAllStreamMessage, inner => inner.Use(GetStreamMessage(allStream)))
2424
.MapWhen(IsStreamMessageOptions, inner => inner.Use(GetStreamMessageOptions));
2525

2626
return next =>
@@ -31,23 +31,17 @@ public static MidFunc UseStreamStore(IReadonlyStreamStore streamStore)
3131
};
3232
}
3333

34-
private static bool IsStream(PathString requestPath)
35-
=> !requestPath.HasValue;
36-
37-
private static bool IsStream(IOwinContext context)
38-
=> context.IsGetOrHead() && IsStream(context.Request.Path);
34+
private static bool IsAllStream(IOwinContext context)
35+
=> context.IsGetOrHead() && context.Request.Path.IsAllStream();
3936

4037
private static bool IsStreamOptions(IOwinContext context)
41-
=> context.IsOptions() && IsStream(context.Request.Path);
42-
43-
private static bool IsStreamMessage(PathString requestPath)
44-
=> long.TryParse(requestPath.Value?.Remove(0, 1), out var _);
38+
=> context.IsOptions() && context.Request.Path.IsAllStream();
4539

46-
private static bool IsStreamMessage(IOwinContext context)
47-
=> context.IsGetOrHead() && IsStreamMessage(context.Request.Path);
40+
private static bool IsAllStreamMessage(IOwinContext context)
41+
=> context.IsGetOrHead() && context.Request.Path.IsAllStreamMessage();
4842

4943
private static bool IsStreamMessageOptions(IOwinContext context)
50-
=> context.IsOptions() && IsStreamMessage(context.Request.Path);
44+
=> context.IsOptions() && context.Request.Path.IsAllStreamMessage();
5145

5246
private static MidFunc GetStream(AllStreamResource allStream) => next => async env =>
5347
{

src/SqlStreamStore.HAL/ReadStreamMiddleware.cs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,25 +30,19 @@ public static MidFunc UseStreamStore(IStreamStore streamStore)
3030
return builder.Build();
3131
};
3232
}
33-
34-
35-
private static bool IsStream(PathString requestPath)
36-
=> requestPath.Value?.Length > 1;
33+
3734

3835
private static bool IsStream(IOwinContext context)
39-
=> context.IsGetOrHead() && IsStream(context.Request.Path);
36+
=> context.IsGetOrHead() && context.Request.Path.IsStream();
4037

4138
private static bool IsStreamOptions(IOwinContext context)
42-
=> context.IsOptions() && IsStream(context.Request.Path);
43-
44-
private static bool IsStreamMessage(PathString requestPath)
45-
=> requestPath.Value?.Split('/')?.Length == 3;
39+
=> context.IsOptions() && context.Request.Path.IsStream();
4640

4741
private static bool IsStreamMessage(IOwinContext context)
48-
=> context.IsGetOrHead() && IsStreamMessage(context.Request.Path);
42+
=> context.IsGetOrHead() && context.Request.Path.IsStreamMessage();
4943

5044
private static bool IsStreamMessageOptions(IOwinContext context)
51-
=> context.IsOptions() && IsStreamMessage(context.Request.Path);
45+
=> context.IsOptions() && context.Request.Path.IsStreamMessage();
5246

5347
private static MidFunc GetStream(StreamResource stream) => next => async env =>
5448
{

0 commit comments

Comments
 (0)