Expose HTTP response trailers on RestResponse
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 68/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- csharp
- Domaine
- api, backend-api-design
Piste de recherche
Start by locating RestResponseBase and the execution path that consumes HttpResponseMessage content. Check target-framework differences around HttpResponseMessage.TrailingHeaders, then review existing response-header tests. Done means exposing a separate TrailingHeaders collection, populating it after body completion where supported, leaving it empty elsewhere, and verifying trailers remain separate from regular headers.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
.NET exposes HTTP response trailer fields through HttpResponseMessage.TrailingHeaders, but RestSharp currently maps only the regular response headers and content headers to RestResponse. The internal HttpResponseMessage is disposed after execution, so callers using the standard ExecuteAsync path cannot access trailer fields.
Trailer fields are useful for message integrity checks, signatures, delivery metrics, and post-processing status information. RFC 9110 also recommends storing them separately from the initial header section.
Proposed change
- Add a TrailingHeaders collection to RestResponseBase, separate from Headers and ContentHeaders.
- Populate it after the response body has been fully consumed, because .NET exposes received trailers only after content completion.
- Keep the collection empty on target frameworks where HttpResponseMessage.TrailingHeaders is unavailable.
- Add tests verifying that trailers are preserved and remain separate from regular headers.
Compatibility
This would be an additive public API change. RestSharp targets
etstandard2.0, .NET Framework, and modern .NET, so the property can be available on all targets while population is guarded for supported modern .NET targets.
- Langage dominant
- C#
- Étoiles
- 9.8k
- Forks
- 2.3k
- Merge moyen
- 11 j 21 h
- PR mergées (30 j)
- 2
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de restsharp/RestSharp
-
RestClientOptions.UserAgent missing from requests with useClientFactory: truePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
-
feature-request rfc
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
feature-request rfc
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
-
awaiting-feedback feature-request
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Toutes les issues de restsharp/RestSharp
Issues similaires
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's MavenPeut-être pris @kou l’a pris aujourd’hui. OuverteType: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/arrow-adbc#4947 ·
Les mainteneurs répondent en général sous 1 jour
-
:watch: Not Triaged CAC
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
dotnet/AspNetCore.Docs#38001 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Nimblesite/SharpLsp#468 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
elastic/ecs-dotnet#575 ·
-
V4 alert-rule reads have no scope gate, so any authenticated credential can list alert rulesOuvertealerts bug effort:S P2
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
nightscout/nocturne#2511 ·
Les mainteneurs répondent en général sous 1 jour