Bug when use chain and GeoIp2 at first position with cache
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con i metodi executeQuery e geocodeQuery del provider GeoIp2, quindi traccia il modo in cui Chain::geocodeQuery gestisce una collection vuota dal primo provider e le letture della cache per i provider successivi. Riproduci una chain con GeoIp2 per primo e un provider personalizzato per secondo; il lavoro è completato quando una risposta vuota di GeoIp2 non impedisce più l’utilizzo del provider successivo e il comportamento di errore previsto è verificato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
GeoIp2 return empty collection and save it in cache after that next providers(custom) load from cache empty collection instead of using his code
$result = json_decode($this->executeQuery($address));
if (null === $result) {
return new AddressCollection([]);
}
$result = json_decode(''); //NULL
private function executeQuery(string $address): string
{
$uri = sprintf('file://geoip?%s', $address);
try {
$result = $this->adapter->getContent($uri);
} catch (AddressNotFoundException $e) {
return '';
} catch (AuthenticationException $e) {
throw new InvalidCredentials(
$e->getMessage(),
$e->getCode(),
$e
);
} catch (OutOfQueriesException $e) {
throw new QuotaExceeded(
$e->getMessage(),
$e->getCode(),
$e
);
}
return $result;
}
I think there should not be return '';, but there should be fatal
public function geocodeQuery(GeocodeQuery $query): Collection
{
foreach ($this->providers as $provider) {
try {
$result = $provider->geocodeQuery($query);
if (!$result->isEmpty()) {
return $result;
}
} catch (\Throwable $e) {
$this->log(
'alert',
sprintf('Provider "%s" could geocode address: "%s".', $provider->getName(), $query->getText()),
['exception' => $e]
);
}
}
return new AddressCollection();
}
\Geocoder\Provider\Chain\Chain::geocodeQuery now always return empty collectioon \Geocoder\Model\AddressCollection();
- Lingua principale
- PHP
- Stelle
- 4k
- Fork
- 525
- Merge medio
- 8m
- PR unite (30g)
- 1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di geocoder-php/Geocoder
-
Wrong LocationIQ Bounds Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
geocoder-php/Geocoder#1272 ·
-
question
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
geocoder-php/Geocoder#1267 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
geocoder-php/Geocoder#1266 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 38/100
geocoder-php/Geocoder#1244 · 2 commenti · 2 reazioni ·
-
Add Support for IPQuery Apertaprovider
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
geocoder-php/Geocoder#1243 ·
Tutte le issue di geocoder-php/Geocoder
Issue simili
-
status/awaiting_triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
WordPress/plugin-check#1486 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
az-digital/az_quickstart#6019 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
grokability/snipe-it#19688 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100