diff options
| author | Christian Cleberg <[email protected]> | 2026-07-14 20:22:14 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-14 20:22:14 -0500 |
| commit | 8a00f7c55cdbcddcd878c01a79f2db7dc3f080ef (patch) | |
| tree | fe4c4ef1188986fd3676253048c3014e4de86d07 /app/cache.go | |
| parent | 0fdc45a668d95d603a9013f90392f6bc966c72f9 (diff) | |
| download | skunky-art-8a00f7c55cdbcddcd878c01a79f2db7dc3f080ef.tar.gz skunky-art-8a00f7c55cdbcddcd878c01a79f2db7dc3f080ef.tar.bz2 skunky-art-8a00f7c55cdbcddcd878c01a79f2db7dc3f080ef.zip | |
fix(api): harden random-art retry loop
Three bugs in Random():
- The retry loop was unbounded. Only the NSFW path incremented attempt,
so a run of DeviantArt errors span forever, hammering the API and
risking an egress-IP ban.
- string(rand.Intn(999)) converts a rune, not a number: string(65) is
"A", not "65". Searches were querying garbage. Use strconv.Itoa.
- rand.Intn panics on 0, so an empty result set crashed the handler.
Skip empty results.
The exhausted-retries error now fires when the loop ends rather than
falling through to index an empty slice.
Diffstat (limited to 'app/cache.go')
0 files changed, 0 insertions, 0 deletions
