ServerHeaderConcern.cs 778 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using GenHTTP.Api.Content;
  2. using GenHTTP.Api.Protocol;
  3. namespace Benchmarks.Utilities;
  4. public sealed class ServerHeaderConcern : IConcern
  5. {
  6. #region Initialization
  7. public ServerHeaderConcern(IHandler content)
  8. {
  9. Content = content;
  10. }
  11. #endregion
  12. #region Get-/Setters
  13. public IHandler Content { get; }
  14. #endregion
  15. #region Functionality
  16. public ValueTask PrepareAsync() => Content.PrepareAsync();
  17. public async ValueTask<IResponse> HandleAsync(IRequest request)
  18. {
  19. var response = await Content.HandleAsync(request);
  20. if (response != null)
  21. {
  22. response.Headers.Add("Server", "TFB");
  23. }
  24. return response;
  25. }
  26. #endregion
  27. }