|
|
674daed93b
|
feat: create MusicBrainz client and data models
Add internal/musicbrainz/ package with:
- client.go: MusicBrainzClient struct wrapping net/http.Client with
channel-based rate limiter (1 req/sec), doGet method with proper
User-Agent header, and Close for cleanup
- model.go: ReleaseGroup, Artist, ExternalRelease, and Parsed* structs
- XML parsing functions for release-group list and artist responses
- Comprehensive tests: XML parsing (success, empty, malformed),
client constructor, doGet (success, non-200, unreachable server),
rate limiter behavior
|
2026-05-26 11:52:17 +03:00 |
|