solicitações-do-intervalo-da-caixa de trabalho

Ao fazer uma solicitação, é possível definir um cabeçalho range para que o servidor retorne apenas uma parte da solicitação completa. Isso é útil para determinados arquivos, como um arquivo de vídeo, em que um usuário pode mudar o local de reprodução do vídeo.

O que este módulo faz?

Pode haver cenários em que você queira disponibilizar um arquivo armazenado em cache, mas o navegador tenha definido um cabeçalho range. Normalmente, o cabeçalho seria ignorado.

Esse módulo vai ler a resposta armazenada em cache e retornar o intervalo de dados especificado.

Uso básico

Para usar as solicitações de intervalo do Workbox, adicione o plug-in à estratégia em que você quer verificar solicitações de intervalo.

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

Uso avançado

Se você quiser usar essa lógica fora do plug-in, use a função createPartialResponse().

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

createPartialResponse(request, cachedResponse);

Para mais informações, consulte a documentação de referência.

Tipos

RangeRequestsPlugin

O plug-in de solicitação de intervalo facilita o preenchimento de uma solicitação com um cabeçalho "Range" por uma resposta armazenada em cache.

Isso é feito interceptando o callback do plug-in cachedResponseWillBeUsed e retornando o subconjunto adequado do corpo da resposta armazenado em cache.

Propriedades

  • construtor

    void

    A função constructor tem esta aparência:

    ()=> {...}

Métodos

createPartialResponse()

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

Dado um objeto Request e Response como entrada, isso retornará uma promessa para um novo Response.

Se o Response original já tiver conteúdo parcial (ou seja, com um status de 206), isso pressupõe que ele já atende aos requisitos de Range: e o retornará como está.

Parâmetros

  • request

    Solicitação

    Uma solicitação, que precisa conter um cabeçalho Range:.

  • originalResponse

    Resposta

    Uma resposta.

Retorna

  • Promessa<Resposta>

    Uma resposta 206 Partial Content, com o corpo da resposta definido para a fração de conteúdo especificada pelo cabeçalho Range: da solicitação, ou uma resposta 416 Range Not Satisfiable se as condições do cabeçalho Range: não puderem ser atendidas.