File tree Expand file tree Collapse file tree 4 files changed +12
-11
lines changed
openapi_spec_validator/handlers Expand file tree Collapse file tree 4 files changed +12
-11
lines changed Original file line number Diff line number Diff line change 11"""OpenAPI spec validator handlers file module."""
2- from openapi_spec_validator .loaders import ExtendedSafeLoader
32
43
54class 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
Original file line number Diff line number Diff line change 33from yaml import load
44
55from openapi_spec_validator .handlers .base import BaseHandler
6+ from openapi_spec_validator .loaders import ExtendedSafeLoader
67
78
89class 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
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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 )
You can’t perform that action at this time.
0 commit comments