Skip to content
Snippets Groups Projects
Unverified Commit 5e5dfcd5 authored by Robert Schaefer's avatar Robert Schaefer
Browse files

Check HTTP 403 error on missing api keys

parent 3cfd2a20
No related branches found
No related tags found
No related merge requests found
......@@ -43,5 +43,14 @@ module Geocoder::Lookup
def host
"api.ipdata.co"
end
def check_response_for_errors!(response)
if response.code.to_i == 403
raise_error(Geocoder::RequestDenied) ||
Geocoder.log(:warn, "Geocoding API error: 403 API key does not exist")
else
super(response)
end
end
end
end
......@@ -24,4 +24,12 @@ class IpdataCoTest < GeocoderTestCase
assert_equal "Jersey City, NJ 07302, United States", result.address
end
def test_not_authorized
Geocoder.configure(always_raise: [Geocoder::RequestDenied])
lookup = Geocoder::Lookup.get(:ipdata_co)
assert_raises Geocoder::RequestDenied do
response = MockHttpResponse.new(code: 403)
lookup.send(:check_response_for_errors!, response)
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment