33
44from aiohttp import web
55from aiohttp .web import RouteTableDef
6- from common_library .network import is_ip_address
76from models_library .api_schemas_webserver .auth import (
87 ApiKeyCreateRequest ,
98 ApiKeyCreateResponse ,
2221from ...login .decorators import login_required
2322from ...models import RequestContext
2423from ...security .decorators import permission_required
25- from ...utils_aiohttp import envelope_json_response , iter_origins
24+ from ...utils_aiohttp import envelope_json_response , get_api_base_url
2625from .. import _service
2726from ..models import ApiKey
2827from .rest_exceptions import handle_plugin_requests_exceptions
@@ -37,19 +36,6 @@ class ApiKeysPathParams(StrictRequestParameters):
3736 api_key_id : IDStr
3837
3938
40- def _get_api_base_url (request : web .Request ) -> str | None :
41- originating_host = next (iter_origins (request ), None )
42- if not originating_host :
43- return None
44-
45- api_host = (
46- f"api.{ originating_host } "
47- if not is_ip_address (originating_host )
48- else originating_host
49- )
50- return f"{ request .url .with_host (api_host ).with_port (None ).with_path ('' )} "
51-
52-
5339@routes .post (f"/{ API_VTAG } /auth/api-keys" , name = "create_api_key" )
5440@login_required
5541@permission_required ("user.apikey.*" )
@@ -69,7 +55,7 @@ async def create_api_key(request: web.Request):
6955 api_key = ApiKeyCreateResponse .model_validate (
7056 {
7157 ** asdict (created_api_key ),
72- "api_base_url" : _get_api_base_url (request ) or "" ,
58+ "api_base_url" : get_api_base_url (request ) or "" ,
7359 }
7460 )
7561
0 commit comments