From e428d806e56f734b0d9412f32e75cdb6db74b842 Mon Sep 17 00:00:00 2001 From: Eric Frias <efrias@syncad.com> Date: Fri, 4 Nov 2022 18:08:43 -0400 Subject: [PATCH] Avoid parsing the response body when we've already decided not to cache the result --- jussi/middlewares/caching.py | 2 ++ jussi/middlewares/update_block_num.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/jussi/middlewares/caching.py b/jussi/middlewares/caching.py index f122740..f09fc3b 100644 --- a/jussi/middlewares/caching.py +++ b/jussi/middlewares/caching.py @@ -67,6 +67,8 @@ async def cache_response(request: HTTPRequest, response: HTTPResponse) -> None: return if 'x-jussi-error-id' in response.headers: return + if request.jsonrpc.upstream.ttl == -1: #don't waste time parsing response if not cacheable + return jsonrpc_response = loads(response.body) if not jsonrpc_response: return diff --git a/jussi/middlewares/update_block_num.py b/jussi/middlewares/update_block_num.py index 0430bf6..e16badc 100644 --- a/jussi/middlewares/update_block_num.py +++ b/jussi/middlewares/update_block_num.py @@ -19,8 +19,8 @@ async def update_last_irreversible_block_num(request: HTTPRequest, response: HTT return request.timings.append((perf_counter(), 'update_last_irreversible_block_num.enter')) try: - jsonrpc_response = ujson.loads(response.body) if is_get_dynamic_global_properties_request(request.jsonrpc): + jsonrpc_response = ujson.loads(response.body) last_irreversible_block_num = jsonrpc_response['result']['last_irreversible_block_num'] cache_group = request.app.config.cache_group request.app.config.last_irreversible_block_num = last_irreversible_block_num -- GitLab