Stop throttling signed media and ease the browser's e621 queue
Signed media URLs are fetched by <img>/<video> tags without an Authorization header, so they were charged to the anonymous 120/min bucket: past that, galleries and the fish-greeting download got 429 JSON instead of image bytes. The raw/thumbnail/staged-file/similarity-file actions are now exempt, and THROTTLE_ENABLED=false removes the general anon+user limits for private/tailnet deployments (login/register/proxy guards stay). The SPA's e621 client also stops self-throttling so hard: 1s gap between browsing calls (2.5s for the stricter IQDB endpoint) and a 15s cooldown instead of 60s when e621 answers 429.
This commit is contained in:
@@ -148,7 +148,7 @@ class MediaItemViewSet(
|
||||
return item
|
||||
return self.get_object()
|
||||
|
||||
@action(detail=True, methods=["get"])
|
||||
@action(detail=True, methods=["get"], throttle_classes=[])
|
||||
def raw(self, request, pk=None):
|
||||
item = self._media_object(request, "raw")
|
||||
location = item.locations.first()
|
||||
@@ -161,7 +161,7 @@ class MediaItemViewSet(
|
||||
request, location.path, download=request.query_params.get("download") == "1"
|
||||
)
|
||||
|
||||
@action(detail=True, methods=["get"])
|
||||
@action(detail=True, methods=["get"], throttle_classes=[])
|
||||
def thumbnail(self, request, pk=None):
|
||||
item = self._media_object(request, "thumbnail")
|
||||
location = item.locations.first()
|
||||
|
||||
Reference in New Issue
Block a user