Skip to content

Commit 2a3e1c6

Browse files
[genhttp] Clean-up and simplify
2 parents 3d3085d + 8a874f3 commit 2a3e1c6

1 file changed

Lines changed: 28 additions & 37 deletions

File tree

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,35 @@
1-
using GenHTTP.Api.Content;
21
using GenHTTP.Api.Protocol;
2+
33
using GenHTTP.Engine.Internal;
4+
45
using GenHTTP.Modules.Functional;
5-
using GenHTTP.Modules.Layouting;
66
using GenHTTP.Modules.Practices;
77

8-
var port = args.Length > 0 && int.TryParse(args[0], out var p) ? p : 8080;
8+
var port = (args.Length > 0 && ushort.TryParse(args[0], out var p)) ? p : (ushort)8080;
99

10-
var echoHandler = Inline.Create()
11-
.Any(async (IRequest request) =>
12-
{
13-
await ValueTask.CompletedTask;
14-
var sb = new System.Text.StringBuilder();
15-
foreach (var h in request.Headers)
16-
sb.AppendLine($"{h.Key}: {h.Value}");
17-
return sb.ToString();
18-
});
19-
20-
var rootHandler = Inline.Create()
21-
.Get(async (IRequest request) =>
22-
{
23-
await ValueTask.CompletedTask;
24-
return "OK";
25-
})
26-
.Post(async (IRequest request) =>
10+
var app = Inline.Create()
11+
.Get("/echo", (IRequest request) => Echo(request))
12+
.Post((Stream body) => RequestContent(body))
13+
.Any(() => StringContent());
14+
15+
return await Host.Create()
16+
.Handler(app)
17+
.Defaults()
18+
.Port(port)
19+
.RunAsync();
20+
21+
static string Echo(IRequest request)
22+
{
23+
var headers = new System.Text.StringBuilder();
24+
25+
foreach (var h in request.Headers)
2726
{
28-
if (request.Content is not null)
29-
{
30-
using var reader = new StreamReader(request.Content);
31-
return await reader.ReadToEndAsync();
32-
}
33-
return "";
34-
});
35-
36-
var layout = Layout.Create()
37-
.Add("echo", echoHandler)
38-
.Add(rootHandler);
39-
40-
await Host.Create()
41-
.Handler(layout)
42-
.Defaults()
43-
.Port((ushort)port)
44-
.RunAsync();
27+
headers.AppendLine($"{h.Key}: {h.Value}");
28+
}
29+
30+
return headers.ToString();
31+
}
32+
33+
static string StringContent() => "OK";
34+
35+
static Stream RequestContent(Stream body) => body;

0 commit comments

Comments
 (0)