JsonHandler.cs 859 B

1234567891011121314151617181920212223242526272829303132333435
  1. using Benchmarks.Utilities;
  2. using GenHTTP.Api.Content;
  3. using GenHTTP.Api.Protocol;
  4. namespace Benchmarks.Tests;
  5. public sealed class JsonResult
  6. {
  7. public string Message { get; set; }
  8. }
  9. public sealed class JsonHandler : IHandler
  10. {
  11. private static readonly FlexibleContentType ContentType = new(GenHTTP.Api.Protocol.ContentType.ApplicationJson, "utf-8");
  12. public ValueTask PrepareAsync() => new();
  13. public ValueTask<IResponse> HandleAsync(IRequest request)
  14. {
  15. var result = new JsonResult()
  16. {
  17. Message = "Hello, World!"
  18. };
  19. var response = request.Respond()
  20. .Content(new FixedLengthJsonContent(result))
  21. .Type(ContentType)
  22. .Build();
  23. return new(response);
  24. }
  25. }