@@ -89,9 +89,9 @@ def __init__(
89
89
90
90
@classmethod
91
91
def from_dict (
92
- cls , data : Schema , config : Optional [Config ] = None
92
+ cls , data : Schema , config : Optional [Config ] = None , base_uri : str = ""
93
93
) -> "OpenAPI" :
94
- sp = SchemaPath .from_dict (data )
94
+ sp = SchemaPath .from_dict (data , base_uri = base_uri )
95
95
return cls (sp , config = config )
96
96
97
97
@classmethod
@@ -110,9 +110,12 @@ def from_file_path(
110
110
111
111
@classmethod
112
112
def from_file (
113
- cls , fileobj : SupportsRead , config : Optional [Config ] = None
113
+ cls ,
114
+ fileobj : SupportsRead ,
115
+ config : Optional [Config ] = None ,
116
+ base_uri : str = "" ,
114
117
) -> "OpenAPI" :
115
- sp = SchemaPath .from_file (fileobj )
118
+ sp = SchemaPath .from_file (fileobj , base_uri = base_uri )
116
119
return cls (sp , config = config )
117
120
118
121
def _get_version (self ) -> SpecVersion :
@@ -133,7 +136,8 @@ def check_spec(self) -> None:
133
136
try :
134
137
validate (
135
138
self .spec .contents (),
136
- base_uri = self .config .spec_base_uri ,
139
+ base_uri = self .config .spec_base_uri
140
+ or self .spec .accessor .resolver ._base_uri ,
137
141
cls = cls ,
138
142
)
139
143
except ValidatorDetectError :
0 commit comments