Skip to content

Known issues with the Kestrel engine integration #545

@Kaliumhexacyanoferrat

Description

@Kaliumhexacyanoferrat

This issue allows us to track the issues that still exist with the Kestrel server engine integration (as they were found in #526):

  • Kestrel does not allow to set a custom HTTP status
  • Kestrel does not allow to read the request body twice
  • Kestrel does not allow to read the length of the request body
  • Websockets are not supported as the underlying socket is not exposed by Kestrel

Additionally, the following differences were found:

  • Do not send a Keep-Alive header for HTTP/1.1 #701
  • Kestrel uses lower-case for cookie properties -> We will stick to this
  • Enable HTTP/2 and HTTP/3 with Kestrel #554
  • GenHTTP keeps multiple slashes in the url, Kestrel does not (see TestMultipleSlashes)
  • Kestrel replaces + with a blank in an URL, GenHTTP does not (see TestQueryWithSpaces) -> This is a browser thing - as we intend to have API clients, we will stick to this
  • We need to allow to set path and secureOnly for cookies (already adressed as an issue)
  • GenHTTP sends Content-Length: 0 for an empty response, Kestrel does not -> As this is more explicit, we will keep this

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions