File: //usr/local/CyberCP/lib/python3.10/site-packages/fastapi/__pycache__/applications.cpython-310.pyc
o
�h�� � @ s� d dl mZ d dlmZmZmZmZmZmZm Z m
Z
mZmZm
Z
d dlmZ d dlmZmZ d dlmZmZmZ d dlmZmZ d dlmZ d dlmZmZmZ d d l m!Z! d d
l"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d d
l)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7m8Z8 d dl9m:Z: d dl;m<Z<m=Z=m>Z>m?Z?m@Z@ d dlAmBZBmCZCmDZD eddd�ZEG dd� de*�ZFdS )� )�Enum)�Any� Awaitable�Callable� Coroutine�Dict�List�Optional�Sequence�Type�TypeVar�Union)�routing)�Default�DefaultPlaceholder)�http_exception_handler�$request_validation_exception_handler�.websocket_request_validation_exception_handler)�RequestValidationError�WebSocketRequestValidationError)�logger)�get_redoc_html�get_swagger_ui_html�#get_swagger_ui_oauth2_redirect_html)�get_openapi)�Depends)�DecoratedCallable�IncEx)�generate_unique_id)� Starlette)�State)�
HTTPException)�
Middleware)�BaseHTTPMiddleware)�Request)�HTMLResponse�JSONResponse�Response)� BaseRoute)�ASGIApp�Lifespan�Receive�Scope�Send)� Annotated�Doc�
deprecated�AppType�FastAPI)�boundc N s� e Zd ZdZddd dddddddee�ddd d
ddddddddddddddddddee�dd�#ded
ee e
d�f deeee
e
d�ed�f deee
d�f deee e
d�f deee
d�f deee
d�f deee e
d�f deeeeeef e
d�f deeeeeeeef f e
d�f d eeee e
d!�f d"eee e
d#�f d$ee e
d%�f d&eee e
d'�f d(eee e
d)�f d*eee e
d+�f d,eeeeef e
d-�f d.eeee e
d/�f d0eeeeeee f eeegeeeef f f e
d1�f d2eeeeg ef e
d3�f d4eeeeg ef e
d5�f d6eeee e
d7�f d8eee e
d9�f d:eeeeeeef f e
d;�f d<eeeeeeef f e
d=�f d>eee
d?�ed@�f dAeee
dB�f dCee e
dD�f dEeeeeeef eeef f e
dF�f dGeeee
e
dH�f dIeeej e
dJ�f dKeee e
dL�f dMee e
dN�f dOeeeeef e
dP�f dQeeej gef e
dR�f dSee e
dT�f dUeee
dV�f dWdfLdXdY�Z!dWeeef fdZd[�Z"d�d\d]�Z#d^e$d_e%d`e&dWdf� fdadb�Z'ed�ddddddcdddddddddddee�ddee�dd�deedfedgef dhediee djeeeee(f d eee dee dee dkedEeeeeef eeef f dKee dleee dmee dnee) doee) dpe dqe dre dse dMe dteee e*f duee dveeeef dQeej gef dWdf2dwdx�Z+ed�ddddddcdddddddddddee�ddee�dd�deedhediee djeeeee(f d eee dee dee dkedEeeeeef eeef f dKee dleee dmee dnee) doee) dpe dqe dre dse dMe dtee duee dveeeef dQeej gef dWee,ge,f f0dydz�Z- d�dd{�deedfedgef duee d eee dWdf
d|d}�Z. d�dd{�deeee
d~�f dueee e
d�f d eeee e
d��f dWee,ge,f fd�d��Z/ddddddee�dee�d�� d�eeje
d��f d�eee
d��f djeeeeee(f e
d��f d eeee e
d��f dEeeeeeef eeef f e
dF�f dKeee e
d��f dMee e
d��f d"eee e
d��f dGeeee
e
d��f dQeeej gef e
dR�f dWdfd�d��Z0ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z1ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z2ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z3ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z4ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z5ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z6ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z7ed�ddddddcddddddddddee�dddee�d��deeee
d��f dheee
d��f dieee e
d��f djeeeeee(f e
d��f d eeee e
d��f deee e
d��f deee e
d��f dkeee
d��f dEeeeeeef eeef f e
d��f dKeee e
d��f dmeee e
d��f dneee) e
d��f doeee) e
d��f dpee e
d��f dqee e
d��f dree e
d��f dsee e
d��f dMee e
d��f dteee e
d��f dueee e
d��f dGeeee
e
d��f dveeeeef e
d��f dQeeej gef e
dR�f dWee,ge,f f0d�d��Z8 d�deedueedf dWee,ge,f fd�d��Z9ed��d�eee
d��f dWee,ge,f fd�d���Z:d�eee
d��f dWee,ge,f fd�d��Z;d�eeeee f e
df dWee,ge,f fd�dĄZ<� Z=S )�r2 a
`FastAPI` app class, the main entrypoint to use FastAPI.
Read more in the
[FastAPI docs for First Steps](https://fastapi.tiangolo.com/tutorial/first-steps/).
## Example
```python
from fastapi import FastAPI
app = FastAPI()
```
FN� z0.1.0z
/openapi.jsonTz/docsz/redocz/docs/oauth2-redirect)#�debug�routes�title�summary�description�version�openapi_url�openapi_tags�servers�dependencies�default_response_class�redirect_slashes�docs_url� redoc_url�swagger_ui_oauth2_redirect_url�swagger_ui_init_oauth�
middleware�exception_handlers�
on_startup�on_shutdown�lifespan�terms_of_service�contact�license_info�openapi_prefix� root_path�root_path_in_servers� responses� callbacks�webhooksr0 �include_in_schema�swagger_ui_parameters�generate_unique_id_function�separate_input_output_schemas�selfr5 a
Boolean indicating if debug tracebacks should be returned on server
errors.
Read more in the
[Starlette docs for Applications](https://www.starlette.io/applications/#instantiating-the-application).
r6 a
**Note**: you probably shouldn't use this parameter, it is inherited
from Starlette and supported for compatibility.
---
A list of routes to serve incoming HTTP and WebSocket requests.
a/
You normally wouldn't use this parameter with FastAPI, it is inherited
from Starlette and supported for compatibility.
In FastAPI, you normally would use the *path operation methods*,
like `app.get()`, `app.post()`, etc.
r7 a�
The title of the API.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more in the
[FastAPI docs for Metadata and Docs URLs](https://fastapi.tiangolo.com/tutorial/metadata/#metadata-for-api).
**Example**
```python
from fastapi import FastAPI
app = FastAPI(title="ChimichangApp")
```
r8 a�
A short summary of the API.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more in the
[FastAPI docs for Metadata and Docs URLs](https://fastapi.tiangolo.com/tutorial/metadata/#metadata-for-api).
**Example**
```python
from fastapi import FastAPI
app = FastAPI(summary="Deadpond's favorite app. Nuff said.")
```
r9 u
A description of the API. Supports Markdown (using
[CommonMark syntax](https://commonmark.org/)).
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more in the
[FastAPI docs for Metadata and Docs URLs](https://fastapi.tiangolo.com/tutorial/metadata/#metadata-for-api).
**Example**
```python
from fastapi import FastAPI
app = FastAPI(
description="""
ChimichangApp API helps you do awesome stuff. 🚀
## Items
You can **read items**.
## Users
You will be able to:
* **Create users** (_not implemented_).
* **Read users** (_not implemented_).
"""
)
```
r: a}
The version of the API.
**Note** This is the version of your application, not the version of
the OpenAPI specification nor the version of FastAPI being used.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more in the
[FastAPI docs for Metadata and Docs URLs](https://fastapi.tiangolo.com/tutorial/metadata/#metadata-for-api).
**Example**
```python
from fastapi import FastAPI
app = FastAPI(version="0.0.1")
```
r; aq
The URL where the OpenAPI schema will be served from.
If you set it to `None`, no OpenAPI schema will be served publicly, and
the default automatic endpoints `/docs` and `/redoc` will also be
disabled.
Read more in the
[FastAPI docs for Metadata and Docs URLs](https://fastapi.tiangolo.com/tutorial/metadata/#openapi-url).
**Example**
```python
from fastapi import FastAPI
app = FastAPI(openapi_url="/api/v1/openapi.json")
```
r<