From a891657aa43d2aba06a6347dd2f94edd19afd6ba Mon Sep 17 00:00:00 2001 From: Murilo Ijanc Date: Mon, 27 Jul 2026 20:37:09 -0300 Subject: Carry the municipality a missing CEP would belong to MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A 404 is rarely a random number: it is usually someone who knows the city and guessed the digits, and the classic guess is the -000 that 957 municipalities never received. The API now attaches a faixa to the not-found body naming the municipality that owns the range, so the caller can say "no such CEP, but that range is Areal/RJ" instead of only "no". It stays an error. Faixa hangs off CepNotFoundException, never off Address, and parsing is deliberately lenient: an absent, malformed or unnamed block yields a null Nullable, so reading the extra context can never cost the caller the answer it already had. cep_ini and cep_fim are the smallest and largest CEP that actually exist there, not the bounds the Correios publish, and the range between them is sparse — hence ceps, so nobody mistakes the pair for a list. --- dub.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dub.json') diff --git a/dub.json b/dub.json index 640f036..6e03a3d 100644 --- a/dub.json +++ b/dub.json @@ -1,6 +1,6 @@ { "name": "cepis", - "version": "0.1.0", + "version": "0.2.0", "description": "Client for the public CEP API at cep.is (official Correios/DNE data)", "authors": [ "Murilo Ijanc " -- cgit v1.3