Skip to content

Commit 7e2552d

Browse files
added samesiteoption
1 parent f2f5bca commit 7e2552d

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

webapi/src/WebApi/Internal.hs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -157,16 +157,23 @@ toWaiResponse wreq resp = case resp of
157157
handleHeaders' hds cookies = let ckHs = map (\(ck, cv) -> (hSetCookie , renderSC ck cv)) cookies
158158
in hds <> ckHs
159159
renderSC k v = toStrict . toLazyByteString . renderSetCookie $ def
160-
{ setCookieName = k
161-
, setCookieValue = cookieValue v
162-
, setCookiePath = cookiePath v
163-
, setCookieExpires = cookieExpires v
164-
, setCookieMaxAge = cookieMaxAge v
165-
, setCookieDomain = cookieDomain v
160+
{ setCookieName = k
161+
, setCookieValue = cookieValue v
162+
, setCookiePath = cookiePath v
163+
, setCookieExpires = cookieExpires v
164+
, setCookieMaxAge = cookieMaxAge v
165+
, setCookieDomain = cookieDomain v
166166
, setCookieHttpOnly = fromMaybe False (cookieHttpOnly v)
167167
, setCookieSecure = fromMaybe False (cookieSecure v)
168-
, setCookieSameSite = cookieSameSite v
168+
, setCookieSameSite = cookieSameSite' v
169169
}
170+
171+
cookieSameSite' :: CookieInfo ByteString -> Maybe SameSiteOption
172+
cookieSameSite' v = case (cookieSameSite v) of
173+
Just SameSiteStrict -> Just Strict
174+
Just SameSiteLax -> Just Lax
175+
Just SameSiteNone -> Just None
176+
_ -> Nothing
170177

171178

172179
-- | Describes the implementation of a single API end point corresponding to @ApiContract (ApiInterface p) m r@

0 commit comments

Comments
 (0)