Skip to content

Commit

Permalink
Reverted brotli change
Browse files Browse the repository at this point in the history
  • Loading branch information
maartenplieger committed Sep 25, 2024
1 parent ba09d04 commit 2ec2e62
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
5 changes: 3 additions & 2 deletions python/lib/adaguc/runAdaguc.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os
from PIL import Image
from io import BytesIO
import brotli
import shutil
import random
import string
Expand Down Expand Up @@ -313,7 +314,7 @@ async def response_to_cache(redis_pool, key, headers: str, data):
entrytime
+ f"{len(cacheable_headers_json):06d}".encode("utf-8")
+ cacheable_headers_json
+ data.getvalue(),
+ brotli.compress(data.getvalue(), quality = 4),
ex=ttl,
)
await redis_client.aclose()
Expand All @@ -334,5 +335,5 @@ async def get_cached_response(redis_pool, key):
headers = json.loads(cached[16 : 16 + headers_len].decode("utf-8"))
headers.append(f"age: {age}")

data = cached[16 + headers_len :]
data = brotli.decompress(cached[16 + headers_len :])
return age, headers, BytesIO(data)
6 changes: 4 additions & 2 deletions python/python_fastapi_server/routers/caching_middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import redis.asyncio as redis # This can also be used to connect to a Redis cluster

import json
import brotli

ADAGUC_REDIS = os.environ.get("ADAGUC_REDIS")

Expand All @@ -31,7 +32,7 @@ async def get_cached_response(redis_pool, request):
headers_len = int(cached[10:16].decode("utf-8"))
headers = json.loads(cached[16 : 16 + headers_len].decode("utf-8"))

data = cached[16 + headers_len :]
data = brotli.decompress(cached[16 + headers_len :])
return age, headers, data


Expand All @@ -50,14 +51,15 @@ async def response_to_cache(redis_pool, request, headers, data, ex: int):
entrytime = f"{calendar.timegm(datetime.utcnow().utctimetuple()):10d}".encode(
"utf-8"
)
compressed_data = brotli.compress(data, quality=4)
if len(data) < MAX_SIZE_FOR_CACHING:
redis_client = redis.Redis(connection_pool=redis_pool)
await redis_client.set(
key,
entrytime
+ f"{len(headers_json):06d}".encode("utf-8")
+ headers_json
+ data,
+ compressed_data,
ex=ex,
)
await redis_client.aclose()
Expand Down

0 comments on commit 2ec2e62

Please sign in to comment.