Buckets:
ktongue/docker_container / CAD_kevin /frontend /node_modules /workbox-range-requests /RangeRequestsPlugin.js
| /* | |
| Copyright 2018 Google LLC | |
| Use of this source code is governed by an MIT-style | |
| license that can be found in the LICENSE file or at | |
| https://opensource.org/licenses/MIT. | |
| */ | |
| import { createPartialResponse } from './createPartialResponse.js'; | |
| import './_version.js'; | |
| /** | |
| * The range request plugin makes it easy for a request with a 'Range' header to | |
| * be fulfilled by a cached response. | |
| * | |
| * It does this by intercepting the `cachedResponseWillBeUsed` plugin callback | |
| * and returning the appropriate subset of the cached response body. | |
| * | |
| * @memberof workbox-range-requests | |
| */ | |
| class RangeRequestsPlugin { | |
| constructor() { | |
| /** | |
| * @param {Object} options | |
| * @param {Request} options.request The original request, which may or may not | |
| * contain a Range: header. | |
| * @param {Response} options.cachedResponse The complete cached response. | |
| * @return {Promise<Response>} If request contains a 'Range' header, then a | |
| * new response with status 206 whose body is a subset of `cachedResponse` is | |
| * returned. Otherwise, `cachedResponse` is returned as-is. | |
| * | |
| * @private | |
| */ | |
| this.cachedResponseWillBeUsed = async ({ request, cachedResponse, }) => { | |
| // Only return a sliced response if there's something valid in the cache, | |
| // and there's a Range: header in the request. | |
| if (cachedResponse && request.headers.has('range')) { | |
| return await createPartialResponse(request, cachedResponse); | |
| } | |
| // If there was no Range: header, or if cachedResponse wasn't valid, just | |
| // pass it through as-is. | |
| return cachedResponse; | |
| }; | |
| } | |
| } | |
| export { RangeRequestsPlugin }; | |
Xet Storage Details
- Size:
- 1.77 kB
- Xet hash:
- 98ef6428a4c90aca3a37c364078c2ad175834c1609e26df9d7e37ca0d8bae098
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.