diff --git a/lib/maptool/overpass_pois.rb b/lib/maptool/overpass_pois.rb index 9c1c894..fbe47e9 100644 --- a/lib/maptool/overpass_pois.rb +++ b/lib/maptool/overpass_pois.rb @@ -54,7 +54,11 @@ module Maptool def self.fetch(bbox, timeout: 60) query = build_query(bbox, timeout: timeout) uri = URI(OVERPASS_API) - response = Net::HTTP.post_form(uri, "data" => query) + # overpass-api.de answers Net::HTTP's default "Ruby" User-Agent with + # a 406 (verified 2026-10-09) — any identifying UA gets through. + request = Net::HTTP::Post.new(uri, "User-Agent" => "maptool (Overpass camper POIs plugin)") + request.set_form_data("data" => query) + response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(request) } raise FetchError, "unexpected response #{response.code}" unless response.is_a?(Net::HTTPSuccess) JSON.parse(response.body)