Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
workbox-range-requests
Advanced tools
This library creates a new Response, given a source Response and a Range header value.
The workbox-range-requests npm package is a module that makes it easy to add support for efficiently handling partial content requests in service workers. It's part of the Workbox suite of tools, which are designed to make it easier to build offline-first Progressive Web Apps (PWAs). This package specifically deals with range requests, which are HTTP requests that include a Range header indicating which part of the content the client wants to receive. This is particularly useful for large files, like videos or audio, where the client might only need a portion of the file at a time.
Creating a range request handler
This code sample demonstrates how to create a route that handles .mp4 files using the RangeRequestsPlugin. When a range request is received for an MP4 file, the plugin will take care of slicing the appropriate chunk of the file and returning it to the client.
workbox.routing.registerRoute(
/\.mp4$/,
new workbox.rangeRequests.RangeRequestsPlugin()
);
Using RangeRequestsPlugin with a custom handler
This code sample shows how to use the RangeRequestsPlugin within a custom handler function. When a range request is received, the plugin's createPartialResponse method is used to generate the partial response from the cachedResponse.
workbox.routing.registerRoute(
/\.mp4$/,
async ({request, event}) => {
// Assume `cachedResponse` will be the Response from the cache.
const rangeRequestPlugin = new workbox.rangeRequests.RangeRequestsPlugin();
return rangeRequestPlugin.createPartialResponse(request, cachedResponse);
}
);
This package is similar to workbox-range-requests in that it also handles HTTP range requests. However, it is not specifically designed for service workers or offline-first PWAs. It's a more general-purpose library for node.js environments.
While not a direct alternative to workbox-range-requests, shaka-player is an open-source JavaScript library for adaptive media playback in HTML5. It handles network requests, including range requests, for media segments in the context of adaptive streaming. It's more complex and serves a broader purpose than workbox-range-requests.
This module's documentation can be found at https://developers.google.com/web/tools/workbox/modules/workbox-range-requests
FAQs
This library creates a new Response, given a source Response and a Range header value.
The npm package workbox-range-requests receives a total of 2,501,652 weekly downloads. As such, workbox-range-requests popularity was classified as popular.
We found that workbox-range-requests demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.