fastapi自定义中间件

fastapi自定义中间件

1、自定义中间件类

python 复制代码
from fastapi import Request
from starlette.middleware.base import BaseHTTPMiddleware

class MyMiddleware(BaseHTTPMiddleware):
    def __init__(self, app,*args, **kwargs):
        super().__init__(app,*args, **kwargs)

    async def dispatch(self, request: Request, call_next):
        print("MyMiddleware =============================== ")
        # 接收来自客户端的Request请求;
        headers = dict(request.scope['headers'])
        # 将Request请求传回原路由
        response = await call_next(request)
        return response

2、使用自定义中间件

python 复制代码
app.add_middleware(MyMiddleware)

3、中间件执行顺序,从下往上执行

python 复制代码
app.add_middleware(xx1)
app.add_middleware(xx2)

会先执行xx2再执行xx1

相关推荐
Zenova EdgeOS2 分钟前
工业边缘 SDK 设计实战:从 API 到 Python/Go 多语言工程落地
python·golang·php
笨#小孩10 分钟前
中间件解析漏洞与编辑器漏洞:Web安全绕过的“捷径”
web安全·中间件·编辑器
XLYcmy14 分钟前
pdf论文处理:CSV输出模式
数据库·python·pycharm·pdf·论文·csv·dify
苏灿烤鱼36 分钟前
14MB 模型,凭什么跟 270M 对打?
javascript·python·agent
小田学Python9 小时前
100行Python代码,搭一个能干活的AI Agent
python·langchain·大模型·ai agent
Csvn10 小时前
🐍 Day3 : Python 容器精讲 — list、dict、set、tuple 底层实现与高级操作
后端·python
weixin-a1530030831611 小时前
python-装饰器
开发语言·python
我的xiaodoujiao11 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
每天吃饭的羊12 小时前
Chrome DevTools MCP
python
水獭比特14 小时前
localhost 不是安全边界:给 Agent Web 入口补上四层门禁
人工智能·python