/** * Cloudflare Worker: AR (usdz) MIME Tipi Düzeltici * * Bu Worker, .usdz uzantılı dosya isteklerinin Content-Type başlığını * iOS Quick Look AR görüntüleyicisinin gerektirdiği 'model/vnd.usdz+zip' * olarak ayarlar, böylece indirme yerine direkt görüntüleme sağlanır. */ const AR_MODEL_MIME_TYPE = 'model/vnd.usdz+zip'; async function handleRequest(request) { const url = new URL(request.url); // İsteğin .usdz dosyası için olup olmadığını kontrol et if (url.pathname.endsWith('.usdz')) { // 1. Dosyanın orijinal isteğini yap (Cloudflare Pages/R2'den) const response = await fetch(request); // 2. Cevabı kopyala ve başlıklarını düzenle const newHeaders = new Headers(response.headers); // 3. ÖNEMLİ: iOS AR Quick Look için doğru MIME tipini ayarla newHeaders.set('Content-Type', AR_MODEL_MIME_TYPE); // 4. Düzeltilmiş başlıkla birlikte dosyayı döndür return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHeaders, }); } // Diğer tüm istekler (index.html, css vb.) için normal işleme devam et return fetch(request); } addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)); });