workbox-bereik-aanvragen

Bij het indienen van een verzoek kan een range header worden ingesteld die de server vertelt slechts een deel van het volledige verzoek terug te sturen. Dit is handig voor bepaalde bestanden, zoals een videobestand, waarbij een gebruiker kan wijzigen waar de video moet worden afgespeeld.

Wat doet deze module?

Er kunnen scenario's zijn waarin u een bestand in de cache wilt weergeven, maar de browser een range heeft ingesteld. Normaal gesproken wordt de header genegeerd.

Deze module leest het in de cache opgeslagen antwoord en retourneert het opgegeven gegevensbereik.

Basisgebruik

U kunt Workbox Range Requests gebruiken door de plug-in toe te voegen aan de strategie waarmee u de bereikaanvragen wilt controleren.

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

Geavanceerd gebruik

Als u buiten de plug-in gebruik wilt maken van deze logica, kunt u de functie createPartialResponse() gebruiken.

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

createPartialResponse(request, cachedResponse);

Voor meer informatie, zie de referentiedocumenten .

Soorten

RangeRequestsPlugin

Met de range request-plug-in kan een verzoek met een 'Range'-header eenvoudig worden vervuld door een in de cache opgeslagen antwoord.

Dit gebeurt door de callback van de cachedResponseWillBeUsed -plug-in te onderscheppen en de juiste subset van de in de cache opgeslagen antwoordtekst terug te sturen.

Eigenschappen

  • bouwer

    leegte

    De constructor ziet er als volgt uit:

    () => {...}

Methoden

createPartialResponse()

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

Gegeven een Request en Response object als invoer, zal dit een belofte voor een nieuwe Response retourneren.

Als het oorspronkelijke Response al gedeeltelijke inhoud bevat (dwz de status 206 heeft), wordt ervan uitgegaan dat het al voldoet aan de Range: -vereisten, en wordt het geretourneerd zoals het is.

Parameters

  • verzoek

    Verzoek

    Een verzoek dat een Range: header moet bevatten.

  • origineel antwoord

    Antwoord

    Een antwoord.

Geeft terug

  • Beloof<Reactie>

    Ofwel een 206 Partial Content antwoord, waarbij de antwoordtekst is ingesteld op het deel van de inhoud dat is opgegeven door de Range: header van de aanvraag, of een 416 Range Not Satisfiable -antwoord als niet aan de voorwaarden van de Range: header kan worden voldaan.