| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- /**
 
-  * @licstart The following is the entire license notice for the
 
-  * Javascript code in this page
 
-  *
 
-  * Copyright 2017 Mozilla Foundation
 
-  *
 
-  * Licensed under the Apache License, Version 2.0 (the "License");
 
-  * you may not use this file except in compliance with the License.
 
-  * You may obtain a copy of the License at
 
-  *
 
-  *     http://www.apache.org/licenses/LICENSE-2.0
 
-  *
 
-  * Unless required by applicable law or agreed to in writing, software
 
-  * distributed under the License is distributed on an "AS IS" BASIS,
 
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
-  * See the License for the specific language governing permissions and
 
-  * limitations under the License.
 
-  *
 
-  * @licend The above is the entire license notice for the
 
-  * Javascript code in this page
 
-  */
 
- 'use strict';
 
- Object.defineProperty(exports, "__esModule", {
 
-   value: true
 
- });
 
- exports.validateResponseStatus = exports.validateRangeRequestCapabilities = exports.extractFilenameFromHeader = exports.createResponseStatusError = undefined;
 
- var _util = require('../shared/util');
 
- var _content_disposition = require('./content_disposition');
 
- function validateRangeRequestCapabilities(_ref) {
 
-   var getResponseHeader = _ref.getResponseHeader,
 
-       isHttp = _ref.isHttp,
 
-       rangeChunkSize = _ref.rangeChunkSize,
 
-       disableRange = _ref.disableRange;
 
-   (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');
 
-   var returnValues = {
 
-     allowRangeRequests: false,
 
-     suggestedLength: undefined
 
-   };
 
-   if (disableRange || !isHttp) {
 
-     return returnValues;
 
-   }
 
-   if (getResponseHeader('Accept-Ranges') !== 'bytes') {
 
-     return returnValues;
 
-   }
 
-   var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';
 
-   if (contentEncoding !== 'identity') {
 
-     return returnValues;
 
-   }
 
-   var length = parseInt(getResponseHeader('Content-Length'), 10);
 
-   if (!Number.isInteger(length)) {
 
-     return returnValues;
 
-   }
 
-   returnValues.suggestedLength = length;
 
-   if (length <= 2 * rangeChunkSize) {
 
-     return returnValues;
 
-   }
 
-   returnValues.allowRangeRequests = true;
 
-   return returnValues;
 
- }
 
- function extractFilenameFromHeader(getResponseHeader) {
 
-   var contentDisposition = getResponseHeader('Content-Disposition');
 
-   if (contentDisposition) {
 
-     var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
 
-     if (/\.pdf$/i.test(filename)) {
 
-       return filename;
 
-     }
 
-   }
 
-   return null;
 
- }
 
- function createResponseStatusError(status, url) {
 
-   if (status === 404 || status === 0 && /^file:/.test(url)) {
 
-     return new _util.MissingPDFException('Missing PDF "' + url + '".');
 
-   }
 
-   return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF "' + url + '".', status);
 
- }
 
- function validateResponseStatus(status) {
 
-   return status === 200 || status === 206;
 
- }
 
- exports.createResponseStatusError = createResponseStatusError;
 
- exports.extractFilenameFromHeader = extractFilenameFromHeader;
 
- exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
 
- exports.validateResponseStatus = validateResponseStatus;
 
 
  |