diff --git a/basis/http/http.factor b/basis/http/http.factor index 46b67b5321..2030b0d825 100644 --- a/basis/http/http.factor +++ b/basis/http/http.factor @@ -108,7 +108,7 @@ TUPLE: cookie name value version comment path domain expires max-age http-only s : (unparse-cookie) ( cookie -- strings ) [ - dup name>> check-cookie-string >lower + dup name>> check-cookie-string over value>> check-cookie-value unparse-cookie-value "$path" over path>> unparse-cookie-value "$domain" over domain>> unparse-cookie-value @@ -120,7 +120,7 @@ TUPLE: cookie name value version comment path domain expires max-age http-only s : unparse-set-cookie ( cookie -- string ) [ - dup name>> check-cookie-string >lower + dup name>> check-cookie-string over value>> check-cookie-value unparse-cookie-value "path" over path>> unparse-cookie-value "domain" over domain>> unparse-cookie-value diff --git a/basis/http/parsers/parsers-tests.factor b/basis/http/parsers/parsers-tests.factor index f8c3b836a6..438f15a7a3 100644 --- a/basis/http/parsers/parsers-tests.factor +++ b/basis/http/parsers/parsers-tests.factor @@ -11,6 +11,10 @@ IN: http.parsers.tests [ "__s=12345567" parse-cookie ] unit-test +[ { T{ cookie { name "CaseSensitive" } { value "aBc" } } } ] +[ "CaseSensitive=aBc" parse-cookie ] +unit-test + [ { T{ cookie { name "__s" } { value "12345567" } } } ] [ "__s=12345567;" parse-cookie ] unit-test diff --git a/basis/http/parsers/parsers.factor b/basis/http/parsers/parsers.factor index 1a80236817..9c81510925 100644 --- a/basis/http/parsers/parsers.factor +++ b/basis/http/parsers/parsers.factor @@ -135,7 +135,7 @@ PEG: parse-header-line ( string -- pair ) 2choice case-sensitive ; : 'attr' ( -- parser ) - 'token' case-insensitive ; + 'token' case-sensitive ; : 'av-pair' ( -- parser ) [