Ana içeriğe geç

Fastify

Yaşam Döngüsü

Fastify'ın iç yaşam döngüsünün şemasını takip edin.

Her bölümün sağ dalında yaşam döngüsünün bir sonraki aşaması, sol dalda ise üst öğe bir hata fırlatırsa oluşturulacak hata kodu bulunmaktadır (tüm hataların otomatik olarak Fastify tarafından işlendiğini unutmayın).

Gelen İstek

└─▶ Yönlendirme

└─▶ Örnek Günlüğü

4**/5** ◀─┴─▶ onRequest Kancası

4**/5** ◀─┴─▶ preParsing Kancası

4**/5** ◀─┴─▶ Ayrıştırma

4**/5** ◀─┴─▶ preValidation Kancası

400 ◀─┴─▶ Doğrulama

4**/5** ◀─┴─▶ preHandler Kancası

4**/5** ◀─┴─▶ Kullanıcı İşleyici

└─▶ Cevap

4**/5** ◀─┴─▶ preSerialization Kancası

└─▶ onSend Kancası

4**/5** ◀─┴─▶ Çıkış Cevabı

└─▶ onResponse Kancası

Kullanıcı İşleyici öncesinde veya süresince, reply.hijack() çağrılabilir ve Fastify'in:

  • Tüm sonraki kancaları ve kullanıcı işleyicisini çalıştırmasını engeller
  • Cevabı otomatik olarak göndermesini engeller

Not (*): Eğer reply.raw kullanılarak kullanıcıya bir cevap gönderilirse, onResponse kancaları yine de çalıştırılacaktır.

Cevap Yaşam Döngüsü

Kullanıcı isteği işlediğinde, sonuç şu şekilde olabilir:

  • asenkron işleyicide: bir yük döndürür
  • asenkron işleyicide: bir Error fırlatır
  • senkron işleyicide: bir yük gönderir
  • senkron işleyicide: bir Error örneği gönderir

Eğer cevap kaçırıldıysa, aşağıdaki tüm adımlar atlanır. Aksi takdirde, gönderilirken gerçekleşen veri akışı şöyle:

                        ★ şema doğrulama Hatası

└─▶ schemaErrorFormatter

cevap gönderildi ◀── JSON ─┴─ Hata örneği

│ ★ bir Hata fırlat
★ gönder veya döndür │ │
│ │ │
│ ▼ │
cevap gönderildi ◀── JSON ─┴─ Hata örneği ──▶ setErrorHandler ◀─────┘

cevap gönderildi ◀── JSON ─┴─ Hata örneği ──▶ onError Kancası

└─▶ cevap gönderildi

Not: cevap gönderildi, JSON yükünün şu şekilde dizileneceğini ifade eder:

  • cevap dizilimi ayarlandıysa
  • veya dizilim derleyicisi ayarlandığında, dönen HTTP durum kodu için bir JSON şeması belirlendiğinde
  • ya da varsayılan JSON.stringify fonksiyonu ile