Skip to content

Commit 4c9ebb9

Browse files
committed
SAE progress
1 parent 9d181b1 commit 4c9ebb9

2 files changed

Lines changed: 23 additions & 9 deletions

File tree

client/__main__.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import uvicorn
1212
from common import configuration
1313
from common import utils
14-
from common.exceptions import DSKEException, EncryptorNotRegisteredForClientError
14+
from common.exceptions import DSKEException, MissingAuthorizationHeaderError
1515
from .client import Client
1616

1717

@@ -74,40 +74,40 @@ async def dske_exception_handler(_request: fastapi.Request, exc: DSKEException):
7474
@_APP.get(f"/client/{_CLIENT.name}/etsi/api/v1/keys/{{slave_sae_id}}/status")
7575
async def get_etsi_status(
7676
slave_sae_id: str,
77-
authorization_header: Annotated[str | None, fastapi.Header()] = None,
77+
authorization: Annotated[str | None, fastapi.Header()] = None,
7878
):
7979
"""
8080
ETSI QKD 014 API: Status.
8181
"""
82-
master_sae_id = calling_sae_id(authorization_header)
82+
master_sae_id = calling_sae_id(authorization)
8383
return await _CLIENT.etsi_status(master_sae_id, slave_sae_id)
8484

8585

8686
@_APP.get(f"/client/{_CLIENT.name}/etsi/api/v1/keys/{{slave_sae_id}}/enc_keys")
8787
async def get_etsi_get_key(
8888
slave_sae_id: str,
8989
size: int | None = None,
90-
authorization_header: Annotated[str | None, fastapi.Header()] = None,
90+
authorization: Annotated[str | None, fastapi.Header()] = None,
9191
):
9292
"""
9393
ETSI QKD 014 API: Get Key.
9494
"""
95-
master_sae_id = calling_sae_id(authorization_header)
95+
master_sae_id = calling_sae_id(authorization)
9696
return await _CLIENT.etsi_get_key(master_sae_id, slave_sae_id, size)
9797

9898

9999
@_APP.get(f"/client/{_CLIENT.name}/etsi/api/v1/keys/{{master_sae_id}}/dec_keys")
100100
async def get_eti_get_key_with_key_ids(
101101
master_sae_id: str,
102102
key_ID: str,
103-
authorization_header: Annotated[str | None, fastapi.Header()] = None,
103+
authorization: Annotated[str | None, fastapi.Header()] = None,
104104
):
105105
"""
106106
ETSI QKD 014 API: Get Key with Key IDs.
107107
"""
108108
# ETSI QKD 014 says that ID in key_ID has to be upper case, which lint doesn't like.
109109
# pylint: disable=invalid-name
110-
slave_sae_id = calling_sae_id(authorization_header)
110+
slave_sae_id = calling_sae_id(authorization)
111111
return await _CLIENT.etsi_get_key_with_key_ids(master_sae_id, slave_sae_id, key_ID)
112112

113113

@@ -140,9 +140,8 @@ def calling_sae_id(authorization_header: str | None) -> str:
140140
master_sae_id = _CLIENT.encryptor_names[0]
141141
else:
142142
# There is more than one encryptor, so we cannot guess which one is calling.
143-
raise EncryptorNotRegisteredForClientError(
143+
raise MissingAuthorizationHeaderError(
144144
client_name=_CLIENT.name,
145-
encryptor_name=authorization_header,
146145
)
147146
else:
148147
master_sae_id = authorization_header.strip()

common/exceptions.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,3 +333,18 @@ def __init__(self, client_name: str, encryptor_name: str):
333333
"encryptor_name": encryptor_name,
334334
},
335335
)
336+
337+
338+
class MissingAuthorizationHeaderError(DSKEException):
339+
"""
340+
Exception raised when the Authorization header is missing.
341+
"""
342+
343+
def __init__(self, client_name: str):
344+
super().__init__(
345+
status_code=status.HTTP_400_BAD_REQUEST,
346+
message="Missing Authorization header",
347+
details={
348+
"client_name": client_name,
349+
},
350+
)

0 commit comments

Comments
 (0)