Expand description
The one place this program reaches the network.
Behind the fetch feature, so that a build without it has no way to make a
request at all — a property the compiler enforces rather than a promise a
README makes.
It throttles requests, identifies the application, and returns bounded JSON
or image bytes. Endpoint construction and response interpretation live in
service modules such as crate::musicbrainz, which have no socket and can
be tested without contacting a service.
Waiting its turn is not politeness, it is the contract. MusicBrainz
allows one request per second per address and answers 503 to everything
once that is exceeded — not just to the request that went over. A client
without a throttle does not run slightly too fast; it stops working, and it
does so for every other program on the same address.
Structs§
- Client
- A client that waits its turn and says who it is.
Enums§
- Error
- What can go wrong, kept apart because the answers differ.