|
1 | 1 | import re
|
2 |
| -from typing import Dict |
| 2 | +from typing import Dict, Literal |
3 | 3 | from typing import List
|
4 | 4 | from typing import Tuple
|
5 | 5 | from typing import Union
|
@@ -158,19 +158,24 @@ def generate_operation_id(operation: Operation, http_op: str) -> str:
|
158 | 158 | raise Exception(f"OperationId is not defined for {http_op}") # pragma: no cover
|
159 | 159 |
|
160 | 160 |
|
161 |
| -def generate_query_params(operation: Operation) -> List[str]: |
| 161 | +def _generate_params(operation: Operation, param_in : Literal["query", "header"] = "query"): |
162 | 162 | if operation.parameters is None:
|
163 | 163 | return []
|
164 | 164 |
|
165 | 165 | params = []
|
166 | 166 | for param in operation.parameters:
|
167 |
| - if isinstance(param, Parameter) and param.param_in == "query": |
| 167 | + if isinstance(param, Parameter) and param.param_in == param_in: |
168 | 168 | param_name_cleaned = param.name.replace("-", "_")
|
169 | 169 |
|
170 | 170 | params.append(f"'{param.name}' : {param_name_cleaned}")
|
171 | 171 |
|
172 | 172 | return params
|
173 | 173 |
|
| 174 | +def generate_query_params(operation: Operation) -> List[str]: |
| 175 | + return _generate_params(operation, "query") |
| 176 | + |
| 177 | +def generate_header_params(operation: Operation) -> List[str]: |
| 178 | + return _generate_params(operation, "header") |
174 | 179 |
|
175 | 180 | def generate_return_type(operation: Operation) -> OpReturnType:
|
176 | 181 | if operation.responses is None:
|
@@ -257,13 +262,15 @@ def generate_service_operation(
|
257 | 262 | params = generate_params(op)
|
258 | 263 | operation_id = generate_operation_id(op, http_operation)
|
259 | 264 | query_params = generate_query_params(op)
|
| 265 | + header_params = generate_header_params(op) |
260 | 266 | return_type = generate_return_type(op)
|
261 | 267 | body_param = generate_body_param(op)
|
262 | 268 |
|
263 | 269 | so = ServiceOperation(
|
264 | 270 | params=params,
|
265 | 271 | operation_id=operation_id,
|
266 | 272 | query_params=query_params,
|
| 273 | + header_params=header_params, |
267 | 274 | return_type=return_type,
|
268 | 275 | operation=op,
|
269 | 276 | pathItem=path,
|
|
0 commit comments