lilydocs
HTTP APIWebSocketConsumer
İstek işleme2 dk okuma

İstek yaşam döngüsü

CORS, session, CSRF, middleware, guard ve action sırasını birlikte görün.

Bir HTTP isteği yalnız action’dan geçmez. Politikanızı doğru noktaya yerleştirmek için önce bütün akışı görün.

İşleme sırası#

İstek akışı
Admission ve request deadline
  → Etkili CORS politikası / preflight
  → Request DI scope
  → Session middleware
  → Global CSRF
  → Global middleware
  → Handler route çözümleme
  → Controller middleware
  → Action middleware
  → Action guard’ları
  → Typed extraction
  → Action
  → Response conversion / middleware normal dönüşü
  → Lazy body üretimi ve transport yazımı
  → Request kaynakları ve scope cleanup

Session ve CSRF adımları yapılandırıldığında çalışır. Guard’lar action üzerinde yazıldıkları sırayla yürütülür. Typed extraction guard’lardan sonra gelir.

Preflight ve route farkı#

Etkili CORS politikası handler dispatch’ten önce transport seviyesinde seçilir. Geçerli preflight isteği genel middleware veya guard’a girmeden tamamlanabilir. Genel middleware’a konulan rate limit’in preflight’a da uygulandığını varsaymayın.

Action guard’ı yalnız o action’a ulaşan isteklere uygulanır. 404 ve 405 gibi sonuçlar bu guard’a uğramayabilir.

Middleware dönüş sırası#

Middleware’ler isteği ileri, normal dönüşü ters sırada sarar. next.run(exchange).await sonrasındaki kod, aşağıdaki işlemin normal dönüşünü gözler. Streaming gövdenin istemciye tamamen teslim edildiğini göstermez.

Request scope ne zaman biter?#

Lazy response veya SSE üreticisi handler döndükten sonra da çalışabilir. İlgili request kaynaklarının sonlanması ve scope cleanup’ı birlikte koordine edilir. Kaynak temizliğini handler’ın dönüş anıyla eşitlemeyin.

Anormal kesilen middleware çağrıları için termination cleanup ayrı bir sözleşmedir. Normal dönüşteki Ok ve Err için çalışan genel bir finally değildir.

Bu sayfanın kaynakları v0.1.0

Anlatım, incelenen framework commit’ine dayanır.

HIZLI BAŞLANGIÇ
Dokümantasyon
Kaynak kod