Enforce API key quota within the database transaction
This commit is contained in:
@@ -623,3 +623,11 @@ Taslak bölümleri istenen başlıklara göre, kaynak sırasıyla birleştirilir
|
||||
Doğrulama: 50 bin karakteri aşan kaynakta tüm karakterlerin sağlayıcı yardımcı çağrılarına kayıpsız ulaşması, son koşulun birleşik bölümde korunması, ara parça hatasının görünürlüğü, iptalde sonraki grupların durması. Sağlayıcı yanıtları yerel test taklididir; gerçek uzun belge üretim kalitesi/tarayıcı kabulü değildir. Tüm 135 test ve üretim derlemesi geçti.
|
||||
|
||||
Sınırlar: Bir parçanın işlenmesi tüm şartlarının anlam bakımından taslağa doğru aktarıldığını kanıtlamaz. İki dakikalık istemci sınırı ile kalıcı iş/sürdürme ihtiyacı açık; gerçek firma ve beş resmi dosya kabulü yapılmadı. Büyük paket uyarıları sürüyor; canlı yayın yok.
|
||||
|
||||
### D09 — API anahtarı kotasının işlem bütünlüğü
|
||||
|
||||
Önceki uç nokta anahtar sayısını okuyup kotayı kontrol ettikten sonra istek gövdesini bekliyordu; bekleyen eşzamanlı istekler aynı boş kapasiteyi kullanabilirdi. Sayım, kota denetimi ve INSERT artık BEGIN IMMEDIATE işlemi içinde; başarısızlık geri alınır. İptal edilmiş anahtarlar aktif kotaya katılmaz. Sunucudaki güncel plan limiti kayıt işlevine aktarılır.
|
||||
|
||||
Bozuk JSON'un boş gövdeye çevrilip varsayılan anahtar oluşturması kaldırıldı. Anahtar adı metin ve en fazla 120 karakter olmalı; çevresindeki boşluklar temizlenir. GET/POST/DELETE dışındaki metotlar 405 döner.
|
||||
|
||||
Doğrulama: yerel izole HTTP testinde eşzamanlı 16 oluşturma isteğinden tam 10 başarı, 6 kota reddi; bir anahtar iptal edilince yeni kayıt mümkün. Bozuk JSON/geçersiz ad kayıt oluşturmuyor. Gerçek SQLite testinde kota reddi sonrası işlem kapanıyor, iptal ve yeni kayıt çalışıyor. Tüm 137 test geçti; ön yüz değişmediğinden derleme tekrarlanmadı. Farklı sunucu süreçlerinden yük testi yapılmadı. Planın diğer kabul işleri ve canlı yayın açık.
|
||||
|
||||
Reference in New Issue
Block a user