Skip to content

Commit a274f59

Browse files
authored
Merge pull request #107 from p1c2u/fix/handlers-timeout-setup-fix
Handlers timeout setup fix
2 parents d88b4b1 + 20ca8cd commit a274f59

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed
Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
"""OpenAPI spec validator handlers file module."""
2-
from openapi_spec_validator.loaders import ExtendedSafeLoader
32

43

54
class BaseHandler(object):
65
"""OpenAPI spec validator base handler."""
76

8-
def __init__(self, **options):
9-
self.options = options
10-
11-
@property
12-
def loader(self):
13-
return self.options.get('loader', ExtendedSafeLoader)
7+
def __call__(self, f):
8+
raise NotImplementedError

openapi_spec_validator/handlers/file.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@
33
from yaml import load
44

55
from openapi_spec_validator.handlers.base import BaseHandler
6+
from openapi_spec_validator.loaders import ExtendedSafeLoader
67

78

89
class FileObjectHandler(BaseHandler):
910
"""OpenAPI spec validator file-like object handler."""
1011

12+
def __init__(self, loader=ExtendedSafeLoader):
13+
self.loader = loader
14+
1115
def __call__(self, f):
1216
return load(f, self.loader)
1317

openapi_spec_validator/handlers/requests.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,18 @@ class UrlRequestsHandler(FileHandler):
1313
"""OpenAPI spec validator URL (requests) scheme handler."""
1414

1515
def __init__(self, *allowed_schemes, **options):
16+
self.timeout = options.pop('timeout', 10)
1617
super(UrlRequestsHandler, self).__init__(**options)
1718
self.allowed_schemes = allowed_schemes
1819

19-
def __call__(self, url, timeout=1):
20+
def __call__(self, url):
2021
scheme = urlparse(url).scheme
2122
assert scheme in self.allowed_schemes
2223

2324
if scheme == "file":
2425
return super(UrlRequestsHandler, self).__call__(url)
2526

26-
response = requests.get(url, timeout=timeout)
27+
response = requests.get(url, timeout=self.timeout)
2728
response.raise_for_status()
2829

2930
data = StringIO(response.text)

openapi_spec_validator/handlers/urllib.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ class UrllibHandler(FileObjectHandler):
1111
"""OpenAPI spec validator URL (urllib) scheme handler."""
1212

1313
def __init__(self, *allowed_schemes, **options):
14+
self.timeout = options.pop('timeout', 10)
1415
super(UrllibHandler, self).__init__(**options)
1516
self.allowed_schemes = allowed_schemes
1617

17-
def __call__(self, url, timeout=1):
18+
def __call__(self, url):
1819
assert urlparse(url).scheme in self.allowed_schemes
1920

20-
f = urlopen(url, timeout=timeout)
21+
f = urlopen(url, timeout=self.timeout)
2122

2223
with contextlib.closing(f) as fh:
2324
return super(UrllibHandler, self).__call__(fh)

0 commit comments

Comments
 (0)