From 729f36e993e23f8e88a0d00f78615580c0c8e933 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Tue, 21 Feb 2023 10:29:46 +0200 Subject: [PATCH] refactor: extract `relay_info_response` --- helpers.py | 12 ++++++++++++ views.py | 12 +++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/helpers.py b/helpers.py index 5f2b065..169c65c 100644 --- a/helpers.py +++ b/helpers.py @@ -1,6 +1,7 @@ from urllib.parse import urlparse from bech32 import bech32_decode, convertbits +from starlette.responses import JSONResponse def normalize_public_key(pubkey: str) -> str: @@ -23,3 +24,14 @@ def normalize_public_key(pubkey: str) -> str: def extract_domain(url: str) -> str: return urlparse(url).netloc + + +def relay_info_response(relay_public_data: dict) -> JSONResponse: + return JSONResponse( + content=relay_public_data, + headers={ + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Headers": "*", + "Access-Control-Allow-Methods": "GET", + }, + ) \ No newline at end of file diff --git a/views.py b/views.py index 7d11b17..f170afb 100644 --- a/views.py +++ b/views.py @@ -3,13 +3,14 @@ from http import HTTPStatus from fastapi import Depends, Request from fastapi.exceptions import HTTPException from fastapi.templating import Jinja2Templates -from starlette.responses import HTMLResponse, JSONResponse +from starlette.responses import HTMLResponse from lnbits.core.models import User from lnbits.decorators import check_user_exists from . import nostrrelay_ext, nostrrelay_renderer from .crud import get_public_relay +from .helpers import relay_info_response templates = Jinja2Templates(directory="templates") @@ -32,14 +33,7 @@ async def nostrrelay(request: Request, relay_id: str): ) if request.headers.get("accept") == "application/nostr+json": - return JSONResponse( - content=relay_public_data, - headers={ - "Access-Control-Allow-Origin": "*", - "Access-Control-Allow-Headers": "*", - "Access-Control-Allow-Methods": "GET", - }, - ) + return relay_info_response(relay_public_data) return nostrrelay_renderer().TemplateResponse( "nostrrelay/public.html", {"request": request, "relay": relay_public_data}