İstekte bulunurken, şunu belirten bir range
başlığı ayarlanabilir:
sunucunun tüm isteğin yalnızca bir kısmını döndürmesini sağlar. Bu
video dosyası gibi belirli dosyalar için yararlıdır.
videonun oynatılacağı yeri değiştirebilir.
Bu modül ne işe yarar?
Önbelleğe alınan bir dosyayı sunmak isteyebileceğiniz senaryolar olabilir.
ancak tarayıcı bir range
üstbilgisi ayarladı. Normalde başlık
yok sayılır.
Bu modül önbelleğe alınan yanıtı okur ve belirtilen veri aralığındadır.
Temel Kullanım
Eklentiyi kontrol etmek istediğiniz stratejiyi seçin.
import {registerRoute} from 'workbox-routing';
import {CacheFirst} from 'workbox-strategies';
import {RangeRequestsPlugin} from 'workbox-range-requests';
registerRoute(
({url}) => url.pathname.endsWith('.mp4'),
new CacheFirst({
plugins: [
new RangeRequestsPlugin(),
],
});
);
İleri Seviye Kullanım
Bu mantığı eklenti dışında kullanmak istiyorsanız createPartialResponse()
işlevini kullanabilirsiniz.
import {createPartialResponse} from 'workbox-range-requests';
createPartialResponse(request, cachedResponse);
Daha fazla bilgi için referans dokümanlarına bakın.
Türler
RangeRequestsPlugin
Aralık isteği eklentisi, "Range" üst bilgisi içeren bir isteğin önbelleğe alınmış bir yanıtla yerine getirilmesini kolaylaştırır.
Bunu, cachedResponseWillBeUsed
eklentisi geri çağırmasına müdahale ederek yapar.
ve önbelleğe alınan yanıt gövdesinin uygun alt kümesini döndürmesini sağlar.
Özellikler
-
oluşturucu
geçersiz
constructor
işlevi şu şekilde görünür:() => {...}
-
returns
-
Yöntemler
createPartialResponse()
workbox-range-requests.createPartialResponse(
request: Request,
originalResponse: Response,
)
Giriş olarak bir Request
ve Response
nesnesi verildiğinde bu işlev, yeni bir Response
için bir söz döndürür.
Orijinal Response
zaten kısmi içerik içeriyorsa (yani 206 durumu varsa) Range:
koşullarını zaten karşıladığı varsayılır ve olduğu gibi döndürülür.
Parametreler
-
istek
İstek
Range: başlığı içermesi gereken bir istek.
-
originalResponse
Yanıt
Yanıt.
İadeler
-
Promise<Response>
Yanıt gövdesi, isteğin
Range:
başlığı tarafından belirtilen içerik dilimine ayarlanmış bir206 Partial Content
yanıtı veyaRange:
başlığının koşulları karşılanamıyorsa bir416 Range Not Satisfiable
yanıtı.