· kaynak Vercel blog
Vercel yönlendirme middleware'i artık FastAPI, Flask ve Django uygulamaları için Python destekliyor
Vercel'in yönlendirme middleware'i artık Python ile ASGI veya WSGi uygulaması olarak yazılabiliyor; FastAPI, Flask ve Django dağıtımlarının önünde istekleri yeniden yazıyor, yönlendiriyor veya doğrudan yanıt veriyor.

Vercel'in yönlendirme middleware özelliği artık Python destekliyor; böylece FastAPI, Flask, Django ve diğer Python framework'lerini dağıtan geliştiriciler, gelen istekleri uygulamalarıyla aynı dilde ele alma imkânı buluyor. Vercel blog'una göre middleware, uygulamanın kendisinden önce çalışıyor ve bir isteği değiştirebiliyor, bir yönlendirme gönderebiliyor ya da isteğe doğrudan yanıt verebiliyor.
Middleware nasıl çalışıyor
Middleware, uygulamanın içinde yer almak yerine, ana uygulamadan bağımsız çalışan ayrı bir ASGI veya WSGI uygulaması. Vercel, istekleri yola göre dağıtan bir Proxy uygulaması da dahil olmak üzere yönlendirme middleware'i oluşturmaya yarayan yardımcı araçları içeren vercel-proxy adlı bir paket sunuyor.
Handler'lar yol kalıplarına (path pattern) kaydediliyor. Vercel'in yayımladığı örnekte /old-blog/{slug} ile eşleşen bir route, ziyaretçileri kalıcı olarak /blog/{slug} adresine yönlendiren 308 statüsünde bir RedirectResponse döndürüyor; /api/{path:path} ile eşleşen bir route ise isteğe x-api-version: 2 başlığı ekleyen bir ContinueResponse döndürüyor ve istek yoluna devam ediyor. Tanımlı bir route ile eşleşmeyen tüm istekler uygulamaya hiç dokunulmadan iletiliyor; dolayısıyla middleware yalnızca açıkça üstlendiği trafiğe müdahale ediyor.
Yapılandırma ve bağımlılıklar
Proxy, vercel.toml içinde tanımlanıyor; buradaki [proxy] bölümü bir entrypoint'i middleware'e bağlıyor — yayımlanan örnekte entrypoint = "proxy:proxy" şeklinde.
Middleware ayrıca izole bir bağımlılık ortamına sahip: yalnızca projenin pyproject.toml dosyasındaki vercel.proxy bağımlılık grubunda bildirilen paketleri import edebiliyor. Vercel bunların örneğin uv add --group vercel.proxy vercel-proxy komutuyla uv kullanılarak eklendiğini gösteriyor. Middleware'in import ettiği her şeyin uygulamanın genel bağımlılıkları arasında değil, bu grupta yer alması gerekiyor; bu da proxy katmanı ile uygulamanın birbirinden ayrık kalmasını sağlıyor.
Neden önemli
Vercel üzerinde Python servisleri çalıştıran ekipler için yönlendirme, yeniden yazma (rewrite) ve başlık ekleme gibi kurallar artık Python ekosisteminden çıkmayı gerektirmiyor. Aynı mantık, arka plandaki FastAPI veya Django kod tabanıyla aynı dilde ve aynı araç zincirinde durabiliyor; bu da karma dilde bir dağıtımı sürdürmenin bilişsel yükünü azaltıyor.
Ayrı runtime ve bağımlılık grubu, yönlendirme kararlarının uygulamanın tamamı bağımlılık ağacını içine çekmemesi anlamına da geliyor. Bu, daha yalın bir proxy katmanına ve middleware ile önünde durduğu uygulama arasındaki sürüm çakışması riskinin azalmasına işaret ediyor.
Daha geniş açıdan bakıldığında bu sürüm, Vercel'in platformunu JavaScript ağırlıklı kökenlerinin ötesine genişletmesi ve Python iş yüklerini sonradan akıl edilen bir ayrıntı değil, önemli bir hedef kitle olarak görmesi yönündeki bir örüntüye uyuyor. Django ve Flask gibi olgun framework'ler için middleware desteği sunmak, platformu daha önce onu değerlendirme nedeni daha az olan Python odaklı backend ekipleri için daha makul hale getiriyor.
Daha fazla ayrıntı için Vercel, geliştiricileri Routing Middleware Python referans dokümanlarına yönlendiriyor.
- #vercel
- #python
- #middleware
- #serverless
- #cloud