Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

get-it

Package Overview
Dependencies
Maintainers
38
Versions
159
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

get-it - npm Package Compare versions

Comparing version 8.3.2 to 8.4.0

dist/_chunks/createRequester-1d54ad39.js

2

dist/index.d.ts

@@ -29,3 +29,3 @@ /// <reference types="node" />

*/
export declare type ExportEnv = 'node' | 'browser'
export declare type ExportEnv = 'node' | 'react-server' | 'browser'

@@ -32,0 +32,0 @@ /** @public */

@@ -1,2 +0,2 @@

import { processOptions, validateOptions } from './_chunks/defaultOptionsValidator-f87a8c35.js';
import { createRequester } from './_chunks/createRequester-1d54ad39.js';
import http from 'node:http';

@@ -12,117 +12,2 @@ import https from 'node:https';

import * as tunnel from 'tunnel-agent';
const middlewareReducer = middleware => function applyMiddleware(hook, defaultValue) {
const bailEarly = hook === "onError";
let value = defaultValue;
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
for (let i = 0; i < middleware[hook].length; i++) {
const handler = middleware[hook][i];
value = handler(value, ...args);
if (bailEarly && !value) {
break;
}
}
return value;
};
function createPubSub() {
const subscribers = /* @__PURE__ */Object.create(null);
let nextId = 0;
function subscribe(subscriber) {
const id = nextId++;
subscribers[id] = subscriber;
return function unsubscribe() {
delete subscribers[id];
};
}
function publish(event) {
for (const id in subscribers) {
subscribers[id](event);
}
}
return {
publish,
subscribe
};
}
const channelNames = ["request", "response", "progress", "error", "abort"];
const middlehooks = ["processOptions", "validateOptions", "interceptRequest", "finalizeOptions", "onRequest", "onResponse", "onError", "onReturn", "onHeaders"];
function createRequester(initMiddleware, httpRequest) {
const loadedMiddleware = [];
const middleware = middlehooks.reduce((ware, name) => {
ware[name] = ware[name] || [];
return ware;
}, {
processOptions: [processOptions],
validateOptions: [validateOptions]
});
function request(opts) {
const onResponse = (reqErr, res, ctx) => {
let error = reqErr;
let response = res;
if (!error) {
try {
response = applyMiddleware("onResponse", res, ctx);
} catch (err) {
response = null;
error = err;
}
}
error = error && applyMiddleware("onError", error, ctx);
if (error) {
channels.error.publish(error);
} else if (response) {
channels.response.publish(response);
}
};
const channels = channelNames.reduce((target, name) => {
target[name] = createPubSub();
return target;
}, {});
const applyMiddleware = middlewareReducer(middleware);
const options = applyMiddleware("processOptions", opts);
applyMiddleware("validateOptions", options);
const context = {
options,
channels,
applyMiddleware
};
let ongoingRequest;
const unsubscribe = channels.request.subscribe(ctx => {
ongoingRequest = httpRequest(ctx, (err, res) => onResponse(err, res, ctx));
});
channels.abort.subscribe(() => {
unsubscribe();
if (ongoingRequest) {
ongoingRequest.abort();
}
});
const returnValue = applyMiddleware("onReturn", channels, context);
if (returnValue === channels) {
channels.request.publish(context);
}
return returnValue;
}
request.use = function use(newMiddleware) {
if (!newMiddleware) {
throw new Error("Tried to add middleware that resolved to falsey value");
}
if (typeof newMiddleware === "function") {
throw new Error("Tried to add middleware that was a function. It probably expects you to pass options to it.");
}
if (newMiddleware.onReturn && middleware.onReturn.length > 0) {
throw new Error("Tried to add new middleware with `onReturn` handler, but another handler has already been registered for this event");
}
middlehooks.forEach(key => {
if (newMiddleware[key]) {
middleware[key].push(newMiddleware[key]);
}
});
loadedMiddleware.push(newMiddleware);
return request;
};
request.clone = () => createRequester(loadedMiddleware, httpRequest);
initMiddleware.forEach(request.use);
return request;
}
function lowerCaseHeaders(headers) {

@@ -129,0 +14,0 @@ return Object.keys(headers || {}).reduce((acc, header) => {

@@ -72,3 +72,3 @@ /// <reference types="node" />

*/
export declare type ExportEnv = 'node' | 'browser'
export declare type ExportEnv = 'node' | 'react-server' | 'browser'

@@ -75,0 +75,0 @@ /** @public */

{
"name": "get-it",
"version": "8.3.2",
"version": "8.4.0",
"description": "Generic HTTP request library for node, browsers and workers",

@@ -25,13 +25,14 @@ "keywords": [

"types": "./dist/index.d.ts",
"source": "./src/index.ts",
"browser": {
"source": "./src/index.browser.ts",
"require": "./dist/index.browser.cjs",
"import": "./dist/index.browser.js"
"import": "./dist/index.browser.js",
"require": "./dist/index.browser.cjs"
},
"react-server": "./dist/index.react-server.js",
"deno": "./dist/index.browser.js",
"edge-light": "./dist/index.browser.js",
"worker": "./dist/index.browser.js",
"source": "./src/index.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs",
"import": "./dist/index.js",
"default": "./dist/index.js"

@@ -41,2 +42,3 @@ },

"types": "./dist/middleware.d.ts",
"source": "./src/middleware.ts",
"browser": {

@@ -47,8 +49,8 @@ "source": "./src/middleware.browser.ts",

},
"react-server": "./dist/middleware.browser.js",
"deno": "./dist/middleware.browser.js",
"edge-light": "./dist/middleware.browser.js",
"worker": "./dist/middleware.browser.js",
"source": "./src/middleware.ts",
"import": "./dist/middleware.js",
"require": "./dist/middleware.cjs",
"import": "./dist/middleware.js",
"default": "./dist/middleware.js"

@@ -89,2 +91,3 @@ },

"test:edge-runtime": "npm test -- --config ./vitest.edge.config.ts",
"test:react-server": "npm test -- --config ./vitest.react-server.config.ts",
"test:esm": "node --test test-esm/ | faucet",

@@ -114,7 +117,7 @@ "test:esm:browser": "node -C browser --test test-esm/test.mjs | faucet",

"@edge-runtime/vm": "^3.0.4",
"@sanity/pkg-utils": "^2.3.10",
"@sanity/pkg-utils": "^2.4.0",
"@sanity/semantic-release-preset": "^4.1.2",
"@types/debug": "^4.1.8",
"@types/follow-redirects": "^1.14.1",
"@types/node": "^18.17.1",
"@types/node": "^18.17.3",
"@types/progress-stream": "^2.0.2",

@@ -126,3 +129,3 @@ "@types/zen-observable": "^0.8.3",

"eslint": "^8.46.0",
"eslint-config-prettier": "^8.10.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",

@@ -132,3 +135,3 @@ "eslint-plugin-simple-import-sort": "^10.0.0",

"get-uri": "^6.0.1",
"happy-dom": "^9.20.3",
"happy-dom": "^10.8.0",
"ls-engines": "^0.9.0",

@@ -140,3 +143,3 @@ "node-fetch": "^2.6.7",

"typescript": "^5.1.6",
"vite": "4.4.8",
"vite": "4.4.9",
"vitest": "^0.34.1",

@@ -143,0 +146,0 @@ "vitest-github-actions-reporter": "^0.10.0",

@@ -180,3 +180,3 @@ import type {IncomingHttpHeaders, IncomingMessage} from 'node:http'

*/
export type ExportEnv = 'node' | 'browser'
export type ExportEnv = 'node' | 'react-server' | 'browser'

@@ -183,0 +183,0 @@ /**

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc