Restsharp: Rest-Request-Header entfernen

Erstellt am 24. Mai 2017  ·  6Kommentare  ·  Quelle: restsharp/RestSharp

Gibt es eine Möglichkeit, den Header-Wert aus der RestSharp-Anforderung zu entfernen.
Ex. Ich habe Token im Anforderungsheader hinzugefügt und nach der Ausführung der Anforderung festgestellt, dass das Token abgelaufen ist. Ich wollte regeneriert auf Token auf Anfrage anwenden. Wenn ich es einfach mit AddHeader hinzufüge, wird ein neuer Parametereintrag mit demselben Namen erstellt und der frühere nicht überschrieben.

Auf der Suche nach einem Weg, wo ich Header entweder entfernen und hinzufügen oder aktualisieren kann.

Wenn dies nicht unterstützt wird,
1) Man kann die Parameter aufzählen und einen Parameter nach Parametertyp und -name finden
2) einmal gefunden, entfernen Sie es aus der Parameterliste (mit List.Remove)
3) Fügen Sie es dann erneut hinzu

Ich kann PR generieren, indem ich die Methode offenlege. Bitte schlagen Sie vor, ob es gut ist, diese Funktion in der Bibliothek zu haben.

Danke
Niles

Hilfreichster Kommentar

Sie können einen PR mit AddOrUpdateHeader senden, wie es für Parameter gemacht wurde: https://github.com/restsharp/RestSharp/blob/5d0286598bb0523524e9a6de684633d2b6356dea/RestSharp/RestRequest.cs#L461

Aber vergessen Sie nicht die Methoden-XML-Dokumentation.

Alle 6 Kommentare

request.Parameters.remove()

Sie können einen PR mit AddOrUpdateHeader senden, wie es für Parameter gemacht wurde: https://github.com/restsharp/RestSharp/blob/5d0286598bb0523524e9a6de684633d2b6356dea/RestSharp/RestRequest.cs#L461

Aber vergessen Sie nicht die Methoden-XML-Dokumentation.

Hatten Sie Glück beim Einreichen einer PR dafür?

Ich habe das gleiche Problem wie das OP, scheint dies nie getan zu haben, ich stimme der Vorstellung zu.
Ansonsten denke ich, dass es den Unbekannten helfen würde, es zu erledigen.

Für die Client-Instanz einfach: client.RemoveDefaultParameter("Authorization");

Ich denke, es ist bereits behoben. Wir fügen Standardparameter nur hinzu, wenn kein gleichnamiger Parameter in der Liste der Anfrageparameter vorhanden ist. Es kann durch AllowMultipleDefaultParametersWithSameName überschrieben werden, was standardmäßig false ist.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen