Skip to content

Commit c3bae94

Browse files
committed
Don't send analytics if user has DNT/GPC enabled
DNT = Do Not Track GPC = Global Privacy Control
1 parent d5076f6 commit c3bae94

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

app/Server.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import Data.Time.Calendar (Day, showGregorian)
2121
import Data.Time.Clock (UTCTime(..))
2222
import Data.Time.Clock.POSIX (POSIXTime, posixSecondsToUTCTime)
2323
import Network.HTTP.Types (status200, status404, renderQuery, queryTextToQuery)
24-
import Network.Wai (Application, Request, Response, responseLBS, rawPathInfo, queryString)
24+
import Network.Wai (Application, Request, Response, requestHeaders, responseLBS, rawPathInfo, queryString)
2525
import Text.Blaze.Html.Renderer.Utf8 (renderHtml)
2626
import Text.Blaze.Html5 ((!))
2727
import Text.Blaze (toValue, toMarkup)
@@ -66,7 +66,10 @@ pageHome database request = do
6666
return $ responseLBS status200 [("Content-Type", "text/html")] $ renderHtml $
6767
H.docTypeHtml do
6868
H.head do
69-
analytics
69+
if lookup "DNT" (requestHeaders request) /= Just "1" &&
70+
lookup "Sec-GPC" (requestHeaders request) /= Just "1"
71+
then analytics
72+
else return ()
7073
H.title "Nix Package Versions"
7174
H.link
7275
! A.rel "shortcut icon"

0 commit comments

Comments
 (0)