Skip to content

Kestrel Request trailer headers moved to new collection #360

@Tratcher

Description

@Tratcher

In prior versions Kestrel would add HTTP/1.1 chunked trailer headers into the request headers collection when the request body was read to the end. This caused some concerns about ambiguity between headers and trailers so we decided to separate the trailers out to a new collection.

HTTP/2 request trailers were unavailable in 2.2, but are now also available in this new collection in 3.0.0-preview6.

New request extension methods have been added to access these trailers.

HTTP/1.1 trailers are available once the entire request body has been read.

HTTP/2 trailers are available as soon as they’re received from the client, but the client won’t send them until the entire request body has been at least buffered by the server. You may need to read the request body to free up buffer space. Trailers will always be available if you read the request body to the end, as the trailers mark the end of the body.

See dotnet/aspnetcore#10410 for the changes.

See dotnet/aspnetcore#10519 for discussion.

[This announcement has been migrated to: dotnet/docs#14960]

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.0.0Announcements related to ASP.NET Core 3.0AnnouncementBreaking changeDocumentedThe breaking change has been published to the .NET Core docsMigrated

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions