internal/middleware: fix isRobot
Previously, isRobot was always returning true due to a bug in the
function and tests. This logic is now fixed.
Change-Id: Iac406355b9d3ca2a60701940e72ee197d6c32c25
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/276195
Trust: Julie Qiu <julie@golang.org>
Run-TryBot: Julie Qiu <julie@golang.org>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/internal/middleware/requestlog.go b/internal/middleware/requestlog.go
index c3ce38f..cf70f91 100644
--- a/internal/middleware/requestlog.go
+++ b/internal/middleware/requestlog.go
@@ -107,7 +107,7 @@
return true
}
for _, b := range browserAgentPrefixes {
- if strings.HasPrefix(userAgent, b+"/") {
+ if strings.HasPrefix(userAgent, b) {
return false
}
}
diff --git a/internal/middleware/requestlog_test.go b/internal/middleware/requestlog_test.go
index 594026a..39c7e25 100644
--- a/internal/middleware/requestlog_test.go
+++ b/internal/middleware/requestlog_test.go
@@ -137,7 +137,7 @@
"Safari/15609.1.20.111.8 CFNetwork/1125.2 Darwin/19.4.0 (x86_64)",
"MobileSafari/604.1 CFNetwork/1126 Darwin/19.5.0",
} {
- if !isRobot(test) {
+ if isRobot(test) {
t.Errorf("isRobot(%q) = true; want = false", test)
}
}