1let csrfTokenLoaded = false; // Token'in yüklendiÄini kontrol eden bayrak 2let csrfTokenRequested = false; // Aynı anda birden fazla istek yapılmasını engeller 3 4function loadCsrfToken() { 5 return new Promise((resolve, reject) => { 6 if (csrfTokenLoaded) { 7 resolve(); // Token zaten yüklüyse iÅlem yapmadan döner 8 return; 9 } 10 11 if (csrfTokenRequested) { 12 // EÄer token istek halindeyse yeni bir istek yapmadan bekle 13 const interval = setInterval(() => { 14 if (csrfTokenLoaded) { 15 clearInterval(interval); 16 resolve(); 17 } 18 }, 100); 19 return; 20 } 21 22 csrfTokenRequested = true; // İlk isteÄi baÅlatır 23 $.ajax({ 24 url: '/csrf-token', 25 type: 'GET', 26 success: function (response) { 27 const csrfToken = response.csrf_token; 28 29 if (csrfToken) { 30 31 $('meta[name="csrf-token"]').attr('content', csrfToken); 32 $('input[name="_token"]').val(csrfToken); 33 $.ajaxSetup({ 34 headers: { 'X-CSRF-TOKEN': csrfToken }, 35 }); 36 37 csrfTokenLoaded = true; 38 resolve(); // BaÅarıyla tamamlandı 39 } else { 40 reject('CSRF token null döndü.'); 41 } 42 }, 43 error: function (xhr) { 44 reject(`CSRF token alınamadı: ${xhr.statusText}`); 45 }, 46 complete: function () { 47 csrfTokenRequested = false; // İstek tamamlandı 48 }, 49 }); 50 }); 51}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.