Wie protokolliere ich eine komplette Anfrage (Header, Body, etc) für eine bestimmte URL?

8

Ich muss alle Anfragen, einschließlich HTTP-Header, Bodys usw. zu einer bestimmten URL protokollieren. Ich habe diesen Code ausprobiert:

%Vor%

Aber es sagte request.headers enthält keine Methode namens keys . Auch ich denke, es sollte einen einfacheren Weg oder Standard geben, um es zu tun. Vorzugsweise kein Juwel zu verwenden.

    
Oskar K. 24.02.2015, 03:30
quelle

2 Antworten

11

Es sieht so aus, als ob request.headers einen Hash zurückgibt, aber tatsächlich gibt es eine Instanz von % co_de zurück % , für die keine Http::Headers -Methode definiert ist.

Aber ein keys antwortet auf Http::Headers , was den ursprünglichen env-Hash zurückgibt. Daher könnte so etwas funktionieren:

%Vor%

Oder Sie könnten einfach über alle Schlüssel-Wert-Paare iterieren und sie in einen anderen Hash kopieren:

%Vor%

Um dies zu vervollständigen:

%Vor%     
spickermann 24.02.2015, 03:46
quelle
1

Ich verwende das, um die vollständigen Header zu erhalten:

%Vor%     
cappie013 23.11.2017 10:56
quelle