Skip to content

Commit 198e2da

Browse files
committed
Add typing information
1 parent 83abe85 commit 198e2da

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ SHELL=/bin/bash
22

33
lint:
44
flake8
5+
mypy requests_http_signature
56

67
test: lint
78
python ./test/test.py -v

requests_http_signature/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
import email.utils
33
import hashlib
44
import secrets
5-
from typing import List, Union
5+
from typing import Union, Sequence, Type
66

77
import http_sfv
88
import requests
99

1010
from requests.exceptions import RequestException
1111
from http_message_signatures import (algorithms, HTTPSignatureComponentResolver, HTTPSignatureKeyResolver, # noqa: F401
1212
HTTPMessageSigner, HTTPMessageVerifier, HTTPSignatureAlgorithm, InvalidSignature)
13-
from http_message_signatures.structures import CaseInsensitiveDict
13+
from http_message_signatures.structures import CaseInsensitiveDict, VerifyResult
1414

1515

1616
class RequestsHttpSignatureException(RequestException):
@@ -84,11 +84,11 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
8484
_auto_cover_header_fields = {"authorization", "content-digest", "date"}
8585

8686
def __init__(self, *,
87-
signature_algorithm: HTTPSignatureAlgorithm,
87+
signature_algorithm: Type[HTTPSignatureAlgorithm],
8888
key: bytes = None,
8989
key_id: str,
9090
key_resolver: HTTPSignatureKeyResolver = None,
91-
covered_component_ids: List[str] = ("@method", "@authority", "@target-uri"),
91+
covered_component_ids: Sequence[str] = ("@method", "@authority", "@target-uri"),
9292
label: str = None,
9393
include_alg: bool = True,
9494
use_nonce: bool = False,
@@ -168,10 +168,10 @@ def get_body(cls, message):
168168

169169
@classmethod
170170
def verify(cls, message: Union[requests.PreparedRequest, requests.Response], *,
171-
require_components: List[str] = ("@method", "@authority", "@target-uri"),
172-
signature_algorithm: HTTPSignatureAlgorithm,
171+
require_components: Sequence[str] = ("@method", "@authority", "@target-uri"),
172+
signature_algorithm: Type[HTTPSignatureAlgorithm],
173173
key_resolver: HTTPSignatureKeyResolver,
174-
max_age: datetime.timedelta = datetime.timedelta(days=1)):
174+
max_age: datetime.timedelta = datetime.timedelta(days=1)) -> VerifyResult:
175175
"""
176176
Verify an HTTP message signature.
177177

requests_http_signature/py.typed

Whitespace-only changes.

setup.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
},
1616
setup_requires=['setuptools_scm >= 3.4.3'],
1717
install_requires=[
18-
"http-message-signatures >= 0.4.0",
18+
"http-message-signatures >= 0.4.3",
1919
"http-sfv >= 0.9.3",
2020
"requests >= 2.25.1"
2121
],
@@ -30,6 +30,9 @@
3030
},
3131
packages=find_packages(exclude=['test']),
3232
include_package_data=True,
33+
package_data={
34+
"http_message_signatures": ["py.typed"],
35+
},
3336
platforms=['MacOS X', 'Posix'],
3437
test_suite='test',
3538
classifiers=[

0 commit comments

Comments
 (0)