From 0ead6f9fd8b61bfd248ae1a859191b4c9221d149 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Wed, 2 May 2012 11:32:09 -0400
Subject: [PATCH] Handle non-JSON 404 response from FreeGeoIP.

---
 lib/geocoder/lookups/freegeoip.rb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/geocoder/lookups/freegeoip.rb b/lib/geocoder/lookups/freegeoip.rb
index 63599a48..a5526667 100644
--- a/lib/geocoder/lookups/freegeoip.rb
+++ b/lib/geocoder/lookups/freegeoip.rb
@@ -6,6 +6,10 @@ module Geocoder::Lookup
 
     private # ---------------------------------------------------------------
 
+    def parse_raw_data(raw_data)
+      raw_data.match(/^<html><title>404/) ? nil : super(raw_data)
+    end
+
     def results(query, reverse = false)
       # don't look up a loopback address, just return the stored result
       return [reserved_result(query)] if loopback_address?(query)
-- 
GitLab