* [ Declare Request Example Data  ](../schema-extra-example/)
      * [ Extra Data Types  ](../extra-data-types/)
      * [ Cookie Parameters  ](../cookie-params/)
      * [ Header Parameters  ](../header-params/)
      * [ Response Model - Return Type  ](../response-model/)
      * [ Extra Models  ](../extra-models/)
      * [ Response Status Code  ](../response-status-code/)
      * [ Form Data  ](../request-forms/)
      * [ Request Files  ](../request-files/)
      * [ Request Forms and Files  ](../request-forms-and-files/)
      * [ Handling Errors  ](../handling-errors/)
      * [ Path Operation Configuration  ](../path-operation-configuration/)
      * [ JSON Compatible Encoder  ](../encoder/)
      * [ Body - Updates  ](../body-updates/)
      * [ Dependencies  ](../dependencies/)

Dependencies

        * [ Classes as Dependencies  ](../dependencies/classes-as-dependencies/)
        * [ Sub-dependencies  ](../dependencies/sub-dependencies/)
        * [ Dependencies in path operation decorators  ](../dependencies/dependencies-in-path-operation-decorators/)
        * [ Global Dependencies  ](../dependencies/global-dependencies/)
        * [ Dependencies with yield  ](../dependencies/dependencies-with-yield/)
      * [ Security  ](../security/)

Security

        * [ Security - First Steps  ](../security/first-steps/)
        * [ Get Current User  ](../security/get-current-user/)
        * [ Simple OAuth2 with Password and Bearer  ](../security/simple-oauth2/)
        * [ OAuth2 with Password (and hashing), Bearer with JWT tokens  ](../security/oauth2-jwt/)
      * Middleware  [ Middleware  ](./) Table of contents 
        * Create a middleware 
          * Before and after the ` response `
        * Other middlewares 
      * [ CORS (Cross-Origin Resource Sharing)  ](../cors/)
      * [ SQL (Relational) Databases  ](../sql-databases/)
      * [ Bigger Applications - Multiple Files  ](../bigger-applications/)
      * [ Background Tasks  ](../background-tasks/)
      * [ Metadata and Docs URLs  ](../metadata/)
      * [ Static Files  ](../static-files/)
      * [ Testing  ](../testing/)
      * [ Debugging  ](../debugging/)
    * [ Advanced User Guide  ](../../advanced/)

Advanced User Guide

      * [ Path Operation Advanced Configuration  ](../../advanced/path-operation-advanced-configuration/)
      * [ Additional Status Codes  ](../../advanced/additional-status-codes/)
      * [ Return a Response Directly  ](../../advanced/response-directly/)
      * [ Custom Response - HTML, Stream, File, others  ](../../advanced/custom-response/)
      * [ Additional Responses in OpenAPI  ](../../advanced/additional-responses/)
      * [ Response Cookies  ](../../advanced/response-cookies/)
      * [ Response Headers  ](../../advanced/response-headers/)
      * [ Response - Change Status Code  ](../../advanced/response-change-status-code/)
      * [ Advanced Dependencies  ](../../advanced/advanced-dependencies/)
      * [ Advanced Security  ](../../advanced/security/)

Advanced Security

        * [ OAuth2 scopes  ](../../advanced/security/oauth2-scopes/)
        * [ HTTP Basic Auth  ](../../advanced/security/http-basic-auth/)
      * [ Using the Request Directly  ](../../advanced/using-request-directly/)
      * [ Using Dataclasses  ](../../advanced/dataclasses/)
      * [ Advanced Middleware  ](../../advanced/middleware/)
      * [ Sub Applications - Mounts  ](../../advanced/sub-applications/)
      * [ Behind a Proxy  ](../../advanced/behind-a-proxy/)
      * [ Templates  ](../../advanced/templates/)
      * [ WebSockets  ](../../advanced/websockets/)
      * [ Lifespan Events  ](../../advanced/events/)
      * [ Testing WebSockets  ](../../advanced/testing-websockets/)
      * [ Testing Events: startup - shutdown  ](../../advanced/testing-events/)
      * [ Testing Dependencies with Overrides  ](../../advanced/testing-dependencies/)
      * [ Testing a Database  ](../../advanced/testing-database/)
      * [ Async Tests  ](../../a