mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
fix(street-level): refuse tile misses during a 429 wait; parse HTTP-date Retry-After; cap a cached tile's size
Review of #974 (asturksever): - After a 429 the other tiles of the view, and the fetches queued behind the first, still went to Mapillary. The proxy now answers 429 itself until the wait is over, scoped to the token that was refused. - A Retry-After sent as an HTTP date read as 60 s; it is now the seconds left, with the same 10-minute cap. - A body that failed to trim (up to the 48 MiB cap) could fill the 120-entry cache; anything over 4 MiB is served but not kept. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
c29ccd55d6
commit
361f1c0fb8
4 files changed
+184
-19
No files matched your search
@@ -3100,7 +3100,11 @@ The server proxy (`server/providers/mapillary.js`) adds the token to
|
||||
coverage-tile requests (the browser holds it too, for MapillaryJS and the Graph
|
||||
API), serves only z11–14 coverage, refuses upstream redirects, strips the
|
||||
unused `image` layer, shares one fetch per tile, runs at most six at once
|
||||
(cancelling those every client has left) and keeps tiles in memory for 24 h.
|
||||
(cancelling those every client has left) and keeps tiles in memory for 24 h
|
||||
(a body too big to be a trimmed tile is served but not kept). While Mapillary
|
||||
rate-limits, the proxy answers 429 itself until the Retry-After (seconds or an
|
||||
HTTP date, at most 10 minutes) is over, so the rest of a view does not go on
|
||||
asking.
|
||||
|
||||
MapillaryJS loads on the first photo. Opening one frames it with a single
|
||||
camera flight through the application's deferred navigation (`begin` /
|
||||
|
||||
Reference in new issue
Block a user