CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
chunk-YAIEISAR.js308 linesDownload Raw Back to node
1"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }2 3var _chunkPFGO5BSMjs = require('./chunk-PFGO5BSM.js');4 5 6var _chunk73NOP3T5js = require('./chunk-73NOP3T5.js');7 8 9 10 11var _chunkC2JSMMHYjs = require('./chunk-C2JSMMHY.js');12 13 14 15 16 17var _chunkA7U44ARPjs = require('./chunk-A7U44ARP.js');18 19 20var _chunkSMXZPJEAjs = require('./chunk-SMXZPJEA.js');21 22// src/interceptors/fetch/index.ts23var _outvariant = require('outvariant');24var _deferredpromise = require('@open-draft/deferred-promise');25 26// src/interceptors/fetch/utils/createNetworkError.ts27function createNetworkError(cause) {28  return Object.assign(new TypeError("Failed to fetch"), {29    cause30  });31}32 33// src/interceptors/fetch/utils/followRedirect.ts34var REQUEST_BODY_HEADERS = [35  "content-encoding",36  "content-language",37  "content-location",38  "content-type",39  "content-length"40];41var kRedirectCount = Symbol("kRedirectCount");42async function followFetchRedirect(request, response) {43  if (response.status !== 303 && request.body != null) {44    return Promise.reject(createNetworkError());45  }46  const requestUrl = new URL(request.url);47  let locationUrl;48  try {49    locationUrl = new URL(response.headers.get("location"), request.url);50  } catch (error) {51    return Promise.reject(createNetworkError(error));52  }53  if (!(locationUrl.protocol === "http:" || locationUrl.protocol === "https:")) {54    return Promise.reject(55      createNetworkError("URL scheme must be a HTTP(S) scheme")56    );57  }58  if (Reflect.get(request, kRedirectCount) > 20) {59    return Promise.reject(createNetworkError("redirect count exceeded"));60  }61  Object.defineProperty(request, kRedirectCount, {62    value: (Reflect.get(request, kRedirectCount) || 0) + 163  });64  if (request.mode === "cors" && (locationUrl.username || locationUrl.password) && !sameOrigin(requestUrl, locationUrl)) {65    return Promise.reject(66      createNetworkError('cross origin not allowed for request mode "cors"')67    );68  }69  const requestInit = {};70  if ([301, 302].includes(response.status) && request.method === "POST" || response.status === 303 && !["HEAD", "GET"].includes(request.method)) {71    requestInit.method = "GET";72    requestInit.body = null;73    REQUEST_BODY_HEADERS.forEach((headerName) => {74      request.headers.delete(headerName);75    });76  }77  if (!sameOrigin(requestUrl, locationUrl)) {78    request.headers.delete("authorization");79    request.headers.delete("proxy-authorization");80    request.headers.delete("cookie");81    request.headers.delete("host");82  }83  requestInit.headers = request.headers;84  return fetch(new Request(locationUrl, requestInit));85}86function sameOrigin(left, right) {87  if (left.origin === right.origin && left.origin === "null") {88    return true;89  }90  if (left.protocol === right.protocol && left.hostname === right.hostname && left.port === right.port) {91    return true;92  }93  return false;94}95 96// src/interceptors/fetch/utils/brotli-decompress.ts97var _zlib = require('zlib'); var _zlib2 = _interopRequireDefault(_zlib);98var BrotliDecompressionStream = class extends TransformStream {99  constructor() {100    const decompress = _zlib2.default.createBrotliDecompress({101      flush: _zlib2.default.constants.BROTLI_OPERATION_FLUSH,102      finishFlush: _zlib2.default.constants.BROTLI_OPERATION_FLUSH103    });104    super({105      async transform(chunk, controller) {106        const buffer = Buffer.from(chunk);107        const decompressed = await new Promise((resolve, reject) => {108          decompress.write(buffer, (error) => {109            if (error)110              reject(error);111          });112          decompress.flush();113          decompress.once("data", (data) => resolve(data));114          decompress.once("error", (error) => reject(error));115          decompress.once("end", () => controller.terminate());116        }).catch((error) => {117          controller.error(error);118        });119        controller.enqueue(decompressed);120      }121    });122  }123};124 125// src/interceptors/fetch/utils/decompression.ts126var PipelineStream = class extends TransformStream {127  constructor(transformStreams, ...strategies) {128    super({}, ...strategies);129    const readable = [super.readable, ...transformStreams].reduce(130      (readable2, transform) => readable2.pipeThrough(transform)131    );132    Object.defineProperty(this, "readable", {133      get() {134        return readable;135      }136    });137  }138};139function parseContentEncoding(contentEncoding) {140  return contentEncoding.toLowerCase().split(",").map((coding) => coding.trim());141}142function createDecompressionStream(contentEncoding) {143  if (contentEncoding === "") {144    return null;145  }146  const codings = parseContentEncoding(contentEncoding);147  if (codings.length === 0) {148    return null;149  }150  const transformers = codings.reduceRight(151    (transformers2, coding) => {152      if (coding === "gzip" || coding === "x-gzip") {153        return transformers2.concat(new DecompressionStream("gzip"));154      } else if (coding === "deflate") {155        return transformers2.concat(new DecompressionStream("deflate"));156      } else if (coding === "br") {157        return transformers2.concat(new BrotliDecompressionStream());158      } else {159        transformers2.length = 0;160      }161      return transformers2;162    },163    []164  );165  return new PipelineStream(transformers);166}167function decompressResponse(response) {168  if (response.body === null) {169    return null;170  }171  const decompressionStream = createDecompressionStream(172    response.headers.get("content-encoding") || ""173  );174  if (!decompressionStream) {175    return null;176  }177  response.body.pipeTo(decompressionStream.writable);178  return decompressionStream.readable;179}180 181// src/interceptors/fetch/index.ts182var _FetchInterceptor = class extends _chunkA7U44ARPjs.Interceptor {183  constructor() {184    super(_FetchInterceptor.symbol);185  }186  checkEnvironment() {187    return _chunkPFGO5BSMjs.hasConfigurableGlobal.call(void 0, "fetch");188  }189  async setup() {190    const pureFetch = globalThis.fetch;191    _outvariant.invariant.call(void 0, 192      !pureFetch[_chunk73NOP3T5js.IS_PATCHED_MODULE],193      'Failed to patch the "fetch" module: already patched.'194    );195    globalThis.fetch = async (input, init) => {196      const requestId = _chunkA7U44ARPjs.createRequestId.call(void 0, );197      const resolvedInput = typeof input === "string" && typeof location !== "undefined" && !_chunkA7U44ARPjs.canParseUrl.call(void 0, input) ? new URL(input, location.href) : input;198      const request = new Request(resolvedInput, init);199      if (input instanceof Request) {200        _chunkSMXZPJEAjs.setRawRequest.call(void 0, request, input);201      }202      const responsePromise = new (0, _deferredpromise.DeferredPromise)();203      const controller = new (0, _chunkC2JSMMHYjs.RequestController)(request);204      this.logger.info("[%s] %s", request.method, request.url);205      this.logger.info("awaiting for the mocked response...");206      this.logger.info(207        'emitting the "request" event for %s listener(s)...',208        this.emitter.listenerCount("request")209      );210      const isRequestHandled = await _chunkC2JSMMHYjs.handleRequest.call(void 0, {211        request,212        requestId,213        emitter: this.emitter,214        controller,215        onResponse: async (rawResponse) => {216          this.logger.info("received mocked response!", {217            rawResponse218          });219          const decompressedStream = decompressResponse(rawResponse);220          const response = decompressedStream === null ? rawResponse : new (0, _chunkA7U44ARPjs.FetchResponse)(decompressedStream, rawResponse);221          _chunkA7U44ARPjs.FetchResponse.setUrl(request.url, response);222          if (_chunkA7U44ARPjs.FetchResponse.isRedirectResponse(response.status)) {223            if (request.redirect === "error") {224              responsePromise.reject(createNetworkError("unexpected redirect"));225              return;226            }227            if (request.redirect === "follow") {228              followFetchRedirect(request, response).then(229                (response2) => {230                  responsePromise.resolve(response2);231                },232                (reason) => {233                  responsePromise.reject(reason);234                }235              );236              return;237            }238          }239          if (this.emitter.listenerCount("response") > 0) {240            this.logger.info('emitting the "response" event...');241            await _chunkC2JSMMHYjs.emitAsync.call(void 0, this.emitter, "response", {242              // Clone the mocked response for the "response" event listener.243              // This way, the listener can read the response and not lock its body244              // for the actual fetch consumer.245              response: response.clone(),246              isMockedResponse: true,247              request,248              requestId249            });250          }251          responsePromise.resolve(response);252        },253        onRequestError: (response) => {254          this.logger.info("request has errored!", { response });255          responsePromise.reject(createNetworkError(response));256        },257        onError: (error) => {258          this.logger.info("request has been aborted!", { error });259          responsePromise.reject(error);260        }261      });262      if (isRequestHandled) {263        this.logger.info("request has been handled, returning mock promise...");264        return responsePromise;265      }266      this.logger.info(267        "no mocked response received, performing request as-is..."268      );269      const requestCloneForResponseEvent = request.clone();270      return pureFetch(request).then(async (response) => {271        this.logger.info("original fetch performed", response);272        if (this.emitter.listenerCount("response") > 0) {273          this.logger.info('emitting the "response" event...');274          const responseClone = response.clone();275          await _chunkC2JSMMHYjs.emitAsync.call(void 0, this.emitter, "response", {276            response: responseClone,277            isMockedResponse: false,278            request: requestCloneForResponseEvent,279            requestId280          });281        }282        return response;283      });284    };285    Object.defineProperty(globalThis.fetch, _chunk73NOP3T5js.IS_PATCHED_MODULE, {286      enumerable: true,287      configurable: true,288      value: true289    });290    this.subscriptions.push(() => {291      Object.defineProperty(globalThis.fetch, _chunk73NOP3T5js.IS_PATCHED_MODULE, {292        value: void 0293      });294      globalThis.fetch = pureFetch;295      this.logger.info(296        'restored native "globalThis.fetch"!',297        globalThis.fetch.name298      );299    });300  }301};302var FetchInterceptor = _FetchInterceptor;303FetchInterceptor.symbol = Symbol("fetch");304 305 306 307exports.FetchInterceptor = FetchInterceptor;308//# sourceMappingURL=chunk-YAIEISAR.js.map
basant307/AI_Governance_Project · CoolFace