|
12 | 12 | from openapi_core.schema.request_bodies.factories import RequestBodyFactory |
13 | 13 | from openapi_core.schema.responses.generators import ResponsesGenerator |
14 | 14 | from openapi_core.schema.security.factories import SecurityRequirementFactory |
| 15 | +from openapi_core.schema.servers.generators import ServersGenerator |
15 | 16 |
|
16 | 17 |
|
17 | 18 | class OperationsGenerator(object): |
@@ -39,6 +40,9 @@ def generate(self, path_name, path): |
39 | 40 | summary = operation_deref.get('summary') |
40 | 41 | description = operation_deref.get('description') |
41 | 42 | security_requirements_list = operation_deref.get('security', []) |
| 43 | + servers_spec = operation_deref.get('servers', []) |
| 44 | + |
| 45 | + servers = self.servers_generator.generate(servers_spec) |
42 | 46 |
|
43 | 47 | security = None |
44 | 48 | if security_requirements_list: |
@@ -66,6 +70,7 @@ def generate(self, path_name, path): |
66 | 70 | external_docs=external_docs, security=security, |
67 | 71 | request_body=request_body, deprecated=deprecated, |
68 | 72 | operation_id=operation_id, tags=list(tags_list), |
| 73 | + servers=servers, |
69 | 74 | ), |
70 | 75 | ) |
71 | 76 |
|
@@ -93,3 +98,8 @@ def request_body_factory(self): |
93 | 98 | @lru_cache() |
94 | 99 | def security_requirement_factory(self): |
95 | 100 | return SecurityRequirementFactory(self.dereferencer) |
| 101 | + |
| 102 | + @property |
| 103 | + @lru_cache() |
| 104 | + def servers_generator(self): |
| 105 | + return ServersGenerator(self.dereferencer) |
0 commit comments