Compare commits

..

2 Commits

Author SHA1 Message Date
Oscar Krause
b9e78dbeeb response fixes 2025-04-15 07:58:55 +02:00
Oscar Krause
33a561793e test case sensitive headers 2025-04-15 07:35:41 +02:00

View File

@ -721,11 +721,18 @@ async def leasing_v1_lessor(request: Request):
"sync_timestamp": cur_time.strftime(DT_FORMAT),
}
logger.debug(response)
content = json_dumps(response, separators=(',', ':'))
content = f'{content}\n'.encode('utf-8')
signature = INSTANCE_KEY_RSA.generate_signature(content)
signature = INSTANCE_KEY_RSA.generate_signature(json_dumps(response, ensure_ascii=False, allow_nan=False, indent=None, separators=(",", ":")).encode('utf-8'))
signature = f'{signature.hex().encode()}'
return JSONr(response, headers={'access-control-expose-headers': 'X-NLS-Signature', 'X-NLS-Signature': signature})
headers = {
'Content-Type': 'application/json',
'access-control-expose-headers': 'X-NLS-Signature',
'X-NLS-Signature': f'{signature.hex().encode()}'
}
x = Response(content=content, media_type='text/plain')
x.raw_headers = [(k.encode("latin-1"), v.encode("latin-1")) for k, v in headers.items()]
return x
# venv/lib/python3.9/site-packages/nls_services_lease/test/test_lease_multi_controller.py
@ -764,11 +771,11 @@ async def leasing_v1_lease_renew(request: Request, lease_ref: str):
expires = cur_time + LEASE_EXPIRE_DELTA
response = {
"client_challenge": j.get('client_challenge'),
"expires": expires.strftime(DT_FORMAT),
"expires": expires.strftime('%Y-%m-%dT%H:%M:%S.%f'), # DT_FORMAT => "trailing 'Z' missing in this response
"feature_expired": False,
"lease_ref": lease_ref,
"metadata": None,
"offline_lease": True,
"offline_lease": False, # todo
"prompts": None,
"recommended_lease_renewal": LEASE_RENEWAL_PERIOD,
"sync_timestamp": cur_time.strftime(DT_FORMAT),
@ -776,9 +783,18 @@ async def leasing_v1_lease_renew(request: Request, lease_ref: str):
Lease.renew(db, entity, expires, cur_time)
signature = INSTANCE_KEY_RSA.generate_signature(json_dumps(response, ensure_ascii=False, allow_nan=False, indent=None, separators=(",", ":")).encode('utf-8'))
signature = f'{signature.hex().encode()}'
return JSONr(response, headers={'access-control-expose-headers': 'X-NLS-Signature', 'X-NLS-Signature': signature})
content = json_dumps(response, separators=(',', ':'))
content = f'{content}\n'.encode('utf-8')
signature = INSTANCE_KEY_RSA.generate_signature(content)
headers = {
'Content-Type': 'application/json',
'access-control-expose-headers': 'X-NLS-Signature',
'X-NLS-Signature': f'{signature.hex().encode()}'
}
x = Response(content=content, media_type='text/plain')
x.raw_headers = [(k.encode("latin-1"), v.encode("latin-1")) for k, v in headers.items()]
return x
# venv/lib/python3.9/site-packages/nls_services_lease/test/test_lease_single_controller.py