caselle-di-lavoro-richieste-intervallo

Quando effettui una richiesta, è possibile impostare un'intestazione range che indichi affinché il server restituisca solo una parte della richiesta completa. Questa funzionalità è utile per determinati file, come i file video, in cui un utente potrebbe cambiare la posizione di riproduzione del video.

Che cosa fa questo modulo?

Potrebbero verificarsi casi in cui desideri pubblicare un file memorizzato nella cache ma il browser ha impostato un'intestazione range. Di solito l'intestazione verrebbe ignorato.

Questo modulo leggerà la risposta memorizzata nella cache e restituirà i in un intervallo di dati specificato.

Utilizzo di base

Puoi utilizzare Richieste di intervallo Workbox aggiungendo il plug-in al la strategia con cui vuoi controllare le richieste di intervallo.

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(),
    ],
  });
);

Utilizzo avanzato

Se vuoi utilizzare questa logica al di fuori del plug-in, puoi utilizzare la funzione createPartialResponse().

import {createPartialResponse} from 'workbox-range-requests';

createPartialResponse(request, cachedResponse);

Per ulteriori informazioni, consulta la documentazione di riferimento.

Tipi

RangeRequestsPlugin

Il plug-in per la richiesta di intervallo semplifica le richieste con un "intervallo" intestazione per mediante una risposta memorizzata nella cache.

A tale scopo, intercetta il callback del plug-in cachedResponseWillBeUsed e restituisce il sottoinsieme appropriato del corpo della risposta memorizzata nella cache.

Proprietà

  • costruttore

    null

    La funzione constructor ha questo aspetto:

    () => {...}

Metodi

createPartialResponse()

workbox-range-requests.createPartialResponse(
  request: Request,
  originalResponse: Response,
)

Dati come input gli oggetti Request e Response, restituisce una promessa per un nuovo Response.

Se l'elemento Response originale ha già contenuti parziali (ovvero ha lo stato 206), presuppone che soddisfi già le Range: e restituirà il codice così com'è.

Parametri

  • richiesta

    Richiesta

    Una richiesta, che deve contenere un intervallo: intestazione.

  • originalResponse

    Risposta

    Una risposta.

Resi

  • Promise<Response>

    Una risposta 206 Partial Content con il corpo della risposta impostato sull'intervallo di contenuti specificato dall'intestazione Range: della richiesta o una risposta 416 Range Not Satisfiable se non è possibile soddisfare le condizioni dell'intestazione Range:.