Skip to content

Commit f2f464c

Browse files
committed
fixes the request package
1 parent 8fd9245 commit f2f464c

3 files changed

Lines changed: 17 additions & 40 deletions

File tree

apimatic_core/security/hmac_signature_verifier.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from typing import Mapping, Optional, Sequence, Protocol
66

77
from apimatic_core_interfaces.security.signature_verifier import SignatureVerifier
8-
from apimatic_core_interfaces.types.event_request import EventRequest
8+
from apimatic_core_interfaces.http.request import Request
99

1010
from apimatic_core.exceptions.signature_verification_error import SignatureVerificationError
1111

@@ -67,15 +67,15 @@ def __init__(
6767
raise ValueError("order must be HmacOrder.PREPEND or HmacOrder.APPEND.")
6868

6969
self._key_bytes = key.encode("utf-8")
70-
self._sig_header = signature_header.lower().strip()
71-
self._headers = [h.lower().strip() for h in (additional_headers or ())]
70+
self._signature_header = signature_header.lower().strip()
71+
self._additional_headers = [h.lower().strip() for h in (additional_headers or ())]
7272
self._order = order
7373
self._delimiter = delimiter
7474
self._encoder = encoder
7575
self._hash_alg = hash_alg
7676

77-
def verify(self, request: EventRequest) -> bool:
78-
if request is None or not isinstance(request, EventRequest):
77+
def verify(self, request: Request) -> bool:
78+
if request is None or not isinstance(request, Request):
7979
raise ValueError("request must be an EventRequest.")
8080

8181
if not isinstance(request.body, str):
@@ -85,24 +85,24 @@ def verify(self, request: EventRequest) -> bool:
8585
normalized: Mapping[str, str] = {
8686
str(k).lower(): str(v) for k, v in request.headers.items()
8787
}
88-
provided = normalized.get(self._sig_header)
88+
provided = normalized.get(self._signature_header)
8989
if provided is None or not str(provided).strip():
9090
raise SignatureVerificationError(
91-
f"Signature header '{self._sig_header}' is missing from the request."
91+
f"Signature header '{self._signature_header}' is missing from the request."
9292
)
9393
provided = str(provided).strip()
9494

9595
# Build canonical message
9696
parts: list[str] = []
9797
if self._order is HmacOrder.PREPEND:
98-
for h in self._headers:
98+
for h in self._additional_headers:
9999
val = normalized.get(h)
100100
if val is not None:
101101
parts.append(str(val).strip())
102102
parts.append(request.body)
103103
else:
104104
parts.append(request.body)
105-
for h in self._headers:
105+
for h in self._additional_headers:
106106
val = normalized.get(h)
107107
if val is not None:
108108
parts.append(str(val).strip())

apimatic_core/security/no_op_signature_verifier.py

Lines changed: 0 additions & 23 deletions
This file was deleted.

tests/apimatic_core/security/test_hmac_signature_verifier.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import pytest
1010

11-
from apimatic_core_interfaces.types.event_request import EventRequest
11+
from apimatic_core_interfaces.http.request import Request
1212
from apimatic_core.exceptions.signature_verification_error import SignatureVerificationError
1313

1414
# ⬇️ UPDATE THIS IMPORT PATH TO YOUR MODULE
@@ -140,7 +140,7 @@ def test_verify_true_for_valid_signatures_across_encoders_orders_and_delimiters(
140140
delimiter=delimiter,
141141
encoder=encoder,
142142
)
143-
req = EventRequest(headers=headers, body=self.BODY)
143+
req = Request(headers=headers, body=self.BODY)
144144
assert verifier.verify(req) is True
145145

146146
def test_verify_true_with_signature_header_whitespace_trimmed(self, base_headers):
@@ -166,7 +166,7 @@ def test_verify_true_with_signature_header_whitespace_trimmed(self, base_headers
166166
delimiter="|",
167167
encoder=HexEncoder(),
168168
)
169-
req = EventRequest(headers=headers, body=self.BODY)
169+
req = Request(headers=headers, body=self.BODY)
170170
assert verifier.verify(req) is True
171171

172172
def test_verify_true_when_configured_additional_header_is_missing(self, base_headers):
@@ -193,7 +193,7 @@ def test_verify_true_when_configured_additional_header_is_missing(self, base_hea
193193
delimiter="|",
194194
encoder=HexEncoder(),
195195
)
196-
req = EventRequest(headers=headers, body=self.BODY)
196+
req = Request(headers=headers, body=self.BODY)
197197
assert verifier.verify(req) is True
198198

199199
@pytest.mark.parametrize(
@@ -221,7 +221,7 @@ def test_verify_true_with_various_delimiters(self, base_headers, delimiter):
221221
delimiter=delimiter,
222222
encoder=HexEncoder(),
223223
)
224-
req = EventRequest(headers=headers, body=self.BODY)
224+
req = Request(headers=headers, body=self.BODY)
225225
assert verifier.verify(req) is True
226226

227227
def test_verify_false_when_signature_mismatch(self, base_headers):
@@ -245,7 +245,7 @@ def test_verify_false_when_signature_mismatch(self, base_headers):
245245
delimiter="|",
246246
encoder=HexEncoder(),
247247
)
248-
req = EventRequest(headers=headers, body=self.BODY)
248+
req = Request(headers=headers, body=self.BODY)
249249
assert verifier.verify(req) is False
250250

251251
# ==========================================================================
@@ -264,7 +264,7 @@ def test_verify_raises_signature_verification_error_when_signature_header_missin
264264
delimiter="|",
265265
encoder=HexEncoder(),
266266
)
267-
req = EventRequest(headers=headers, body=self.BODY)
267+
req = Request(headers=headers, body=self.BODY)
268268
with pytest.raises(SignatureVerificationError) as exc:
269269
verifier.verify(req)
270270
assert "Signature header 'x-signature' is missing from the request." == str(exc.value)
@@ -281,7 +281,7 @@ def test_verify_raises_signature_verification_error_when_none_encoder_missing(se
281281
delimiter="|",
282282
encoder=None,
283283
)
284-
req = EventRequest(headers=headers, body=self.BODY)
284+
req = Request(headers=headers, body=self.BODY)
285285
with pytest.raises(SignatureVerificationError) as exc:
286286
verifier.verify(req)
287287
assert "HMAC digest computation failed." == str(exc.value)

0 commit comments

Comments
 (0)