Class: Underpass::ErrorParser
- Inherits:
-
Object
- Object
- Underpass::ErrorParser
- Defined in:
- lib/underpass/error_parser.rb
Overview
Parses HTML error responses from the Overpass API into structured data.
The Overpass API returns HTML error pages when queries fail. This class extracts error information from those responses and returns structured hashes with code, message, and details.
Constant Summary collapse
- PATTERNS =
Known error patterns from Overpass API responses
{ timeout: /Query timed out.*?at line (\d+) after (\d+) seconds/i, memory: /Query run out of memory.*?(\d+)\s*MB/i, syntax: /parse error:?\s*(.+)/i, runtime: /runtime error:?\s*(.+)/i }.freeze
Class Method Summary collapse
-
.parse(response_body, status_code) ⇒ Hash
Parses an error response body and returns structured error data.
Class Method Details
.parse(response_body, status_code) ⇒ Hash
Parses an error response body and returns structured error data.
29 30 31 32 33 34 |
# File 'lib/underpass/error_parser.rb', line 29 def self.parse(response_body, status_code) return rate_limit_result if status_code == 429 text = extract_error_text(response_body) parse_error_text(text, status_code) end |