Cookie module issues
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne mit der Untersuchung des hackney_cookie-Moduls und des hackney:cookies(Headers)-Einstiegspunkts, einschließlich des durch PR #193 behandelten Verhaltens. Vergleiche Parser und Builder mit RFC6265 und untersuche anschließend die verschiedenen im Projekt verwendeten Cookie-Repräsentationen. Als abgeschlossen gilt die korrekte Set-Cookie-Analyse und das korrekte Erstellen von Cookie sowie eine abgestimmte konsistente Repräsentation.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
It seems that cookie parser in hackney_cookie uses 'Cookie' parser to parse 'Set-Cookie' header and 'Set-Cookie' builder to build 'Cookie' header. Also code seems to be outdated as it tries to parse comma as valid separator, that not the case in last RFC6265.
As one particular problem that I'm run into is parser failing to proceed set-cookie with Expires attribute. If you try to request https://ya.ru it sets yandexuid cookie and removes S cookie (with Expires in past), but hackney:cookie silently ignores this:
> {ok, Status, Headers, Client} = hackney:request(get, "https://ya.ru", [], <<>>, []).
...
> Headers.
[{<<"Server">>,<<"nginx">>},
{<<"Date">>,<<"Fri, 12 Jun 2015 11:21:05 GMT">>},
{<<"Content-Type">>,<<"text/html; charset=UTF-8">>},
{<<"Content-Length">>,<<"9627">>},
{<<"Connection">>,<<"close">>},
{<<"Cache-Control">>,
<<"no-cache,no-store,max-age=0,must-revalidate">>},
{<<"Expires">>,<<"Fri, 12 Jun 2015 11:21:05 GMT">>},
{<<"Last-Modified">>,<<"Fri, 12 Jun 2015 11:21:05 GMT">>},
{<<"P3P">>,
<<"policyref=\"/w3c/p3p.xml\", CP=\"NON DSP ADM DEV PSD IVDo OUR IND STP PHY P"...>>},
{<<"Set-Cookie">>,
<<"S=; Expires=Tue, 14-Jun-2005 11:21:05 GMT; Path=/">>},
{<<"Set-Cookie">>,
<<"yandexuid=6091834691434108065; Expires=Mon, 09-Jun-2025 11:21:05"...>>},
{<<"X-Frame-Options">>,<<"DENY">>}]
> hackney:cookies(Headers).
[]
This particular problem addressed in PR #193.
But I think cookie module need more attention to implement proper 'Set-Cookie' parser and 'Cookie' builder with respect to RFC6265.
Another issue is that different cookies representations are used across project like {Name, Value}, {Name, [{Name,Value}|Attrs]}, {Name, Value, Attrs}. This adds complexity to lib usage and can be source of errors, maybe it make sense to go with some unified representation based on record or map.
- Vorherrschende Sprache
- Erlang
- Sterne
- 1.4k
- Forks
- 458
- Ø Merge
- 11 Std. 32 Min.
- Gemergte PRs (30 T.)
- 47
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus benoitc/hackney
-
Support Certifi 2.19.xOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
Maintainer antworten meist innerhalb von 1 Tag
-
keepalive timer also closes a freshly dialed pooled connection during the HTTP/1.1 TLS upgradeOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 58/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
benoitc/hackney#907 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in benoitc/hackney
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
customer report feature-request-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Codeinwp/optimole-wp#1239 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
NimblePros/eShopOnWeb#332 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
bug
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
ecosyste-ms/commits#1031 ·
Maintainer antworten meist innerhalb von 1 Tag