HttpHandler.plaintext.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. 
  2. using BeetleX.Light.Memory;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace PlatformBenchmarks
  9. {
  10. public partial class HttpHandler
  11. {
  12. private static ReadOnlySpan<byte> _plaintextPreamble =>
  13. "HTTP/1.1 200 OK\r\n"u8 +
  14. "Server: B\r\n"u8 +
  15. "Content-Type: text/plain\r\n"u8 +
  16. "Content-Length: 13\r\n"u8;
  17. private static ReadOnlySpan<byte> _plainTextBody => "Hello, World!"u8;
  18. public void Plaintext(IStreamWriter stream)
  19. {
  20. Span<byte> data = stream.WriteSequenceNetStream.GetWriteSpan(256);
  21. var timedata = GMTDate.Default.DATE;
  22. _plaintextPreamble.CopyTo(data);
  23. data = data.Slice(_plaintextPreamble.Length);
  24. timedata.Span.CopyTo(data);
  25. data = data.Slice(timedata.Length);
  26. _plainTextBody.CopyTo(data);
  27. //stream.Write(_plaintextPreamble.AsSpan());
  28. //GMTDate.Default.Write(stream);
  29. //stream.Write(_result_plaintext.Data.AsSpan());
  30. stream.WriteSequenceNetStream.WriteAdvance(_plaintextPreamble.Length + timedata.Length + _plainTextBody.Length);
  31. }
  32. }
  33. }