Skip to content

Commit 3b6e41a

Browse files
Yuri ZmytrakovYuri Zmytrakov
authored andcommitted
temp
1 parent cb7ee7c commit 3b6e41a

File tree

1 file changed

+64
-28
lines changed
  • stac_fastapi/core/stac_fastapi/core

1 file changed

+64
-28
lines changed

stac_fastapi/core/stac_fastapi/core/core.py

Lines changed: 64 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -329,20 +329,6 @@ async def all_collections(
329329
if parsed_sort:
330330
sort = parsed_sort
331331

332-
current_url = str(request.url)
333-
redis_enable = get_bool_env("REDIS_ENABLE", default=False)
334-
335-
redis = None
336-
if redis_enable:
337-
try:
338-
redis = await connect_redis()
339-
logger.info("Redis connection established successfully")
340-
except Exception as e:
341-
redis = None
342-
logger.warning(
343-
f"Redis connection failed, continuing without Redis: {e}"
344-
)
345-
346332
# Convert q to a list if it's a string
347333
q_list = None
348334
if q is not None:
@@ -441,21 +427,71 @@ async def all_collections(
441427
},
442428
]
443429

444-
if redis_enable and redis:
445-
if next_token:
446-
await save_self_link(redis, next_token, current_url)
430+
async def handle_pagination_links(
431+
current_url: str,
432+
token: str,
433+
next_token: str,
434+
links: list
435+
) -> None:
447436

448-
prev_link = await get_prev_link(redis, token)
449-
if prev_link:
450-
links.insert(
451-
0,
452-
{
453-
"rel": "prev",
454-
"type": "application/json",
455-
"method": "GET",
456-
"href": prev_link,
457-
},
458-
)
437+
redis_enable = get_bool_env("REDIS_ENABLE", default=False)
438+
439+
redis = None
440+
if redis_enable:
441+
try:
442+
redis = await connect_redis()
443+
logger.info("Redis connection established successfully")
444+
except Exception as e:
445+
redis = None
446+
logger.warning(f"Redis connection failed, continuing without Redis: {e}")
447+
448+
if redis_enable and redis:
449+
if next_token:
450+
await save_self_link(redis, next_token, current_url)
451+
452+
prev_link = await get_prev_link(redis, token)
453+
if prev_link:
454+
links.insert(
455+
0,
456+
{
457+
"rel": "prev",
458+
"type": "application/json",
459+
"method": "GET",
460+
"href": prev_link,
461+
},
462+
)
463+
464+
current_url = str(request.url)
465+
466+
handle_pagination_links(current_url, token, next_token, links)
467+
468+
# redis_enable = get_bool_env("REDIS_ENABLE", default=False)
469+
470+
# redis = None
471+
# if redis_enable:
472+
# try:
473+
# redis = await connect_redis()
474+
# logger.info("Redis connection established successfully")
475+
# except Exception as e:
476+
# redis = None
477+
# logger.warning(
478+
# f"Redis connection failed, continuing without Redis: {e}"
479+
# )
480+
# if redis_enable and redis:
481+
# if next_token:
482+
# await save_self_link(redis, next_token, current_url)
483+
484+
# prev_link = await get_prev_link(redis, token)
485+
# if prev_link:
486+
# links.insert(
487+
# 0,
488+
# {
489+
# "rel": "prev",
490+
# "type": "application/json",
491+
# "method": "GET",
492+
# "href": prev_link,
493+
# },
494+
# )
459495

460496
if next_token:
461497
next_link = PagingLinks(next=next_token, request=request).link_next()

0 commit comments

Comments
 (0)