To run the server on port 8080 (set the PORT environment variable to override):
go build .
./zipserverTo get zipcode info using curl and jq:
curl --silent http://localhost:8080/zip/18101 | jq '.'Your response will look something like this:
{
"latitude": 40.602847,
"longitude": -75.47022,
"city": "Allentown",
"state": "PA"
}If the zipcode you request isn't in the database, you'll get a 404 status with an empty body.
Add a ?distance= parameter to your request to see how far away two zipcodes are. The response format will be the same as above with an additional distance key that contains info about the second zipcode as well as miles and kilometers keys. If the second zipcode can't be found, the distance key won't be included.
This project uses public-domain zipcode data from the Zip Code Database Project.