mirror of
https://github.com/rjNemo/fastapi
synced 2026-06-11 13:06:43 +00:00
♻ Simplify code syntax in several places (#1753)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
parent
72645dfeab
commit
55b9faeb48
5 changed files with 9 additions and 11 deletions
|
|
@ -117,11 +117,8 @@ class FastAPI(Starlette):
|
||||||
|
|
||||||
def setup(self) -> None:
|
def setup(self) -> None:
|
||||||
if self.openapi_url:
|
if self.openapi_url:
|
||||||
server_urls = set()
|
urls = (server_data.get("url") for server_data in self.servers)
|
||||||
for server_data in self.servers:
|
server_urls = {url for url in urls if url}
|
||||||
url = server_data.get("url")
|
|
||||||
if url:
|
|
||||||
server_urls.add(url)
|
|
||||||
|
|
||||||
async def openapi(req: Request) -> JSONResponse:
|
async def openapi(req: Request) -> JSONResponse:
|
||||||
root_path = req.scope.get("root_path", "").rstrip("/")
|
root_path = req.scope.get("root_path", "").rstrip("/")
|
||||||
|
|
|
||||||
|
|
@ -746,7 +746,7 @@ def get_body_field(*, dependant: Dependant, name: str) -> Optional[ModelField]:
|
||||||
first_param = flat_dependant.body_params[0]
|
first_param = flat_dependant.body_params[0]
|
||||||
field_info = get_field_info(first_param)
|
field_info = get_field_info(first_param)
|
||||||
embed = getattr(field_info, "embed", None)
|
embed = getattr(field_info, "embed", None)
|
||||||
body_param_names_set = set([param.name for param in flat_dependant.body_params])
|
body_param_names_set = {param.name for param in flat_dependant.body_params}
|
||||||
if len(body_param_names_set) == 1 and not embed:
|
if len(body_param_names_set) == 1 and not embed:
|
||||||
return get_schema_compatible_field(field=first_param)
|
return get_schema_compatible_field(field=first_param)
|
||||||
# If one field requires to embed, all have to be embedded
|
# If one field requires to embed, all have to be embedded
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
from collections import defaultdict
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from pathlib import PurePath
|
from pathlib import PurePath
|
||||||
from types import GeneratorType
|
from types import GeneratorType
|
||||||
|
|
@ -15,9 +16,9 @@ DictIntStrAny = Dict[Union[int, str], Any]
|
||||||
def generate_encoders_by_class_tuples(
|
def generate_encoders_by_class_tuples(
|
||||||
type_encoder_map: Dict[Any, Callable]
|
type_encoder_map: Dict[Any, Callable]
|
||||||
) -> Dict[Callable, Tuple]:
|
) -> Dict[Callable, Tuple]:
|
||||||
encoders_by_classes: Dict[Callable, List] = {}
|
encoders_by_classes: Dict[Callable, List] = defaultdict(list)
|
||||||
for type_, encoder in type_encoder_map.items():
|
for type_, encoder in type_encoder_map.items():
|
||||||
encoders_by_classes.setdefault(encoder, []).append(type_)
|
encoders_by_classes[encoder].append(type_)
|
||||||
encoders_by_class_tuples: Dict[Callable, Tuple] = {}
|
encoders_by_class_tuples: Dict[Callable, Tuple] = {}
|
||||||
for encoder, classes in encoders_by_classes.items():
|
for encoder, classes in encoders_by_classes.items():
|
||||||
encoders_by_class_tuples[encoder] = tuple(classes)
|
encoders_by_class_tuples[encoder] = tuple(classes)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
METHODS_WITH_BODY = set(("GET", "HEAD", "POST", "PUT", "DELETE", "PATCH"))
|
METHODS_WITH_BODY = {"GET", "HEAD", "POST", "PUT", "DELETE", "PATCH"}
|
||||||
STATUS_CODES_WITH_NO_BODY = set((100, 101, 102, 103, 204, 304))
|
STATUS_CODES_WITH_NO_BODY = {100, 101, 102, 103, 204, 304}
|
||||||
REF_PREFIX = "#/components/schemas/"
|
REF_PREFIX = "#/components/schemas/"
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ class HTTPBasic(HTTPBase):
|
||||||
except (ValueError, UnicodeDecodeError, binascii.Error):
|
except (ValueError, UnicodeDecodeError, binascii.Error):
|
||||||
raise invalid_user_credentials_exc
|
raise invalid_user_credentials_exc
|
||||||
username, separator, password = data.partition(":")
|
username, separator, password = data.partition(":")
|
||||||
if not (separator):
|
if not separator:
|
||||||
raise invalid_user_credentials_exc
|
raise invalid_user_credentials_exc
|
||||||
return HTTPBasicCredentials(username=username, password=password)
|
return HTTPBasicCredentials(username=username, password=password)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue