discard http requests coming from browser prerenders. closes #13

This commit is contained in:
Danny van Kooten 2018-07-12 14:06:07 +02:00
parent a6f9b385a3
commit 82e1216bb3
1 changed files with 10 additions and 5 deletions

View File

@ -15,14 +15,19 @@ import (
)
func shouldCollect(r *http.Request) bool {
// abort if this is a bot.
ua := user_agent.New(r.UserAgent())
if ua.Bot() {
// abort if DNT header is set to "1" (these should have been filtered client-side already)
if r.Header.Get("DNT") == "1" {
return false
}
// abort if DNT header is set to "1" (these should have been filtered client-side already)
if r.Header.Get("DNT") == "1" {
// don't track prerendered pages, see https://github.com/usefathom/fathom/issues/13
if r.Header.Get("X-Moz") == "prefetch" || r.Header.Get("X-Purpose") == "preview" {
return false
}
// abort if this is a bot.
ua := user_agent.New(r.UserAgent())
if ua.Bot() {
return false
}