self.max_size = max_size
+_RANGE_PATTERN = re.compile(r"(\d*)-(\d*)")
+
+
class FileResponse(Response):
chunk_size = 64 * 1024
int(_[0]) if _[0] else file_size - int(_[1]),
int(_[1]) + 1 if _[0] and _[1] and int(_[1]) < file_size else file_size,
)
- for _ in re.findall(r"(\d*)-(\d*)", range_)
+ for _ in _RANGE_PATTERN.findall(range_)
if _ != ("", "")
]
func: typing.Callable[..., typing.Any]
+_remove_converter_pattern = re.compile(r":\w+}")
+
+
class BaseSchemaGenerator:
def get_schema(self, routes: list[BaseRoute]) -> dict[str, typing.Any]:
raise NotImplementedError() # pragma: no cover
Route("/users/{id:int}", endpoint=get_user, methods=["GET"])
Should be represented as `/users/{id}` in the OpenAPI schema.
"""
- return re.sub(r":\w+}", "}", path)
+ return _remove_converter_pattern.sub("}", path)
def parse_docstring(self, func_or_method: typing.Callable[..., typing.Any]) -> dict[str, typing.Any]:
"""