跳到正文
Vercel Blog(vercel.com)· Daniel Park·· 7 天前精選AI 評分77

Vercel Routing Middleware 現已支援 Python

Routing Middleware now supports Python

AI 導讀

Vercel 宣佈 Routing Middleware 現已支援 Python,讓開發者能為 FastLab、Flask、Django 等框架編寫在請求到達應用程式之前執行的路由中介軟體。

推薦理由

原文提供 Python 路由中介軟體的設定方式與程式碼範例,開發者可據此評估如何整合至現有專案中。

正文 · AI 翻譯

你現在可以在 Python 為 FastAPI、Flask、Django 以及其他 Python 框架撰寫 routing middleware。它會在請求到達你的應用程式之前執行,並能重寫、重導或回應請求。

要設定它,請將 proxy 入口點在 vercel.toml 指向你的代理:

vercel.toml

[proxy]

entrypoint = "proxy:proxy"

你的中介軟體是一個獨立於主應用程式之外執行的 ASGI 或 WSGI 應用程式,只包含你 pyproject.toml 的 vercel.proxy 依賴組中的套件。將你的中介軟體所匯入的套件加入該組別:

uv add --group vercel.proxy vercel-proxy

The vercel-proxy 套件提供在 Vercel 上撰寫 routing middleware 的工具,包括一個按路徑路由請求的 Proxy 應用程式:

proxy.py

from urllib.parse import quote

from vercel.proxy import ContinueResponse, Proxy, RedirectResponse, Request, Response

proxy = Proxy()

@proxy.route("/old-blog/{slug}")

def old_blog(request: Request) -> Response:

slug = quote(request.path_params["slug"])

return RedirectResponse(f"/blog/{slug}", status_code=308)

@proxy.route("/api/{path:path}")

def api(request: Request) -> Response:

return ContinueResponse(request_headers={"x-api-version": "2"})

未匹配到任何路由的請求將保持不變地繼續傳遞到你的應用程式。

欲瞭解更多資訊,請參閱 Routing Middleware Python reference。

來源: Vercel Blog (vercel.com)
開啟原文