Dün öyle bir bug'a takıldım ki, artık monitörle göz göze gelmekten çekinir hale geldim. Otomasyon botum, belirli bir API endpoint'ine istek atarken sürekli `403 Forbidden` dönüyordu. "Yetki problemi" dedim, JWT token'ları yeniledim, header'ları kontrol ettim, hatta API dokümanını ezberledim neredeyse. Hiçbiri işe yaramadı.
Tabii ki ilk iş StackOverflow ve benzeri forumlar. Aynı hatayı alan var mı diye baktım. Bulduğum çözümleri teker teker denedim. CORS ayarları, proxy sorunları, hatta güvenlik duvarı... Hepsi negatif. Konsolda, network sekmesinde saatlerce kaldım. İşin komiği, Postman ile aynı isteği atıyorum, mükemmel çalışıyor! Demek ki kodumda bir şey var.
JavaScript:
const response = await fetch(apiUrl, {
method: 'POST',
headers: myHeaders, // Burada her şey normal görünüyordu!
body: JSON.stringify(data)
});
Nihayet, gözlerim kan çanağına dönmüş bir halde, headers objesini satır satır yazdırdım. Ve işte o an... `Autohorization: Bearer token123` yazdığını gördüm. Evet, yanlış okumuyorsunuz: Autohorization. "Authorization" değil, ortadaki 't' harfi eksik! 8 saatimi alan, beni framework'leri, kütüphaneleri suçlamaya iten şey, tek bir yanlış yazılmış harfmiş.
Şaka gibi ama gerçek. O kadar kompleks bir sorun ararken, en basit ihtimali görmezden gelmişim. Belki de linter kullanmak ya da değişken isimlerini kopyala-yapıştır yerine dikkatli yazmak gerekiyor. Ama itiraf ediyorum, bazen o kadar derine dalıyorum ki, yüzeyde yüzen devasa hatayı ıskalıyorum.
Siz de böyle "öldüreceğim bug meğerse yazım hatasıymış" tarzı komik/üzücü tecrübeler yaşadınız mı? Yoksa sadece ben mi bu kadar şanssızım?