فهرست منبع

Replacers test fixes

Andrey Blinov 7 سال پیش
والد
کامیت
33e22abfd1
2فایلهای تغییر یافته به همراه6 افزوده شده و 2 حذف شده
  1. 5 2
      setup.go
  2. 1 0
      setup_test.go

+ 5 - 2
setup.go

@@ -84,8 +84,6 @@ func (gip GeoIP) lookupLocation(w http.ResponseWriter, r *http.Request) {
 	if err != nil {
 		log.Println(err)
 	}
-	rr, ok := w.(*httpserver.ResponseRecorder)
-	log.Printf("%v %v", rr, ok)
 
 	replacer.Set("geoip_country_code", record.Country.ISOCode)
 	replacer.Set("geoip_country_name", record.Country.Names["en"])
@@ -94,6 +92,10 @@ func (gip GeoIP) lookupLocation(w http.ResponseWriter, r *http.Request) {
 	replacer.Set("geoip_latitude", strconv.FormatFloat(record.Location.Latitude, 'f', 6, 64))
 	replacer.Set("geoip_longitude", strconv.FormatFloat(record.Location.Longitude, 'f', 6, 64))
 	replacer.Set("geoip_time_zone", record.Location.TimeZone)
+
+	if rr, ok := w.(*httpserver.ResponseRecorder); ok && rr.Replacer != nil {
+		rr.Replacer = replacer
+	}
 }
 
 func getClientIP(r *http.Request, strict bool) (net.IP, error) {
@@ -116,6 +118,7 @@ func getClientIP(r *http.Request, strict bool) (net.IP, error) {
 			}
 		}
 	}
+
 	// Parse the ip address string into a net.IP.
 	parsedIP := net.ParseIP(ip)
 	if parsedIP == nil {

+ 1 - 0
setup_test.go

@@ -37,6 +37,7 @@ func TestReplacers(t *testing.T) {
 	rr := httpserver.NewResponseRecorder(testResponseRecorder{
 		ResponseWriterWrapper: &httpserver.ResponseWriterWrapper{ResponseWriter: httptest.NewRecorder()},
 	})
+
 	rr.Replacer = httpserver.NewReplacer(r, rr, "-")
 
 	l.ServeHTTP(rr, r)