geocoder-php / geocoder-php/Geocoder
Take exception message from provider response in case of statusCode >= 400
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PHP
- Sterne
- 4k
- Forks
- 525
- Ø Merge
- 8 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Hey guys.
So I as a developer would like to see message from provider response rather than generic The geocoder server returned an invalid response (%d) for query "%s". We could not parse it. message.
We faced with an issue which is pretty hard to debug on dockerized application. It would be much easier to understand what went wrong if we get message from particular provider response in case InvalidServerResponse is thrown on line: https://github.com/geocoder-php/Geocoder/blob/master/src/Http/Provider/AbstractHttpProvider.php#L78
The main issue that each provider has their own response structure in case of bad request occurs. I don't see a good solution here so far and I have only 2 thoughts so far:
getParsedResponsemethod need to be an abstract so each provider will implement their own mechanism of catching errors.
https://github.com/geocoder-php/Geocoder/blob/master/src/Http/Provider/AbstractHttpProvider.php#L68-L87- We could add another abstract method like
abstract protected function throwClientException(string $message)method inside of anAbstractHttpProviderclass. And each provider have to implement it.
I suppose it is kind of feature request.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit src/Http/Provider/AbstractHttpProvider.php, insbesondere mit getParsedResponse und dem InvalidServerResponse-Pfad rund um die Zeilen 68-87. Überprüfe, wie sich die providerspezifischen Antwortstrukturen unterscheiden, und definiere anschließend eine Strategie, die für Statuscodes >=400 die Nachricht des Providers statt des generischen Fehlers offenlegt; abgeschlossen ist die Aufgabe, wenn dieses Verhalten mit dem ausgewählten Design konsistent ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100