aboutsummaryrefslogtreecommitdiffstats
path: root/src/AsyncEndpoint.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/AsyncEndpoint.cs')
-rw-r--r--src/AsyncEndpoint.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/AsyncEndpoint.cs b/src/AsyncEndpoint.cs
new file mode 100644
index 0000000..10998ab
--- /dev/null
+++ b/src/AsyncEndpoint.cs
@@ -0,0 +1,40 @@
+namespace I2R.Endpoints;
+
+public static partial class AsyncEndpoint<BaseEndpoint>
+{
+ public static class Req<TRequest>
+ {
+ public abstract class Res<TResponse>
+ {
+ public abstract Task<TResponse> HandleAsync(
+ TRequest request,
+ CancellationToken cancellationToken = default
+ );
+ }
+
+ public abstract class NoRes
+ {
+ public abstract Task HandleAsync(
+ TRequest request,
+ CancellationToken cancellationToken = default
+ );
+ }
+ }
+
+ public static class NoReq
+ {
+ public abstract class Res<TResponse>
+ {
+ public abstract Task<TResponse> HandleAsync(
+ CancellationToken cancellationToken = default
+ );
+ }
+
+ public abstract class NoRes
+ {
+ public abstract Task HandleAsync(
+ CancellationToken cancellationToken = default
+ );
+ }
+ }
+} \ No newline at end of file