New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@composite-fetcher/core

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@composite-fetcher/core - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

89

./dist/index.js

@@ -13,2 +13,3 @@ // src/interfaces/index.ts

modifiedRequest;
processingContext = /* @__PURE__ */ new Map();
modifiedResponse;

@@ -36,54 +37,39 @@ processedHooks = /* @__PURE__ */ new Map();

}
processPlugins(requestId, hook, context, resolve) {
let index = 0;
const isPreRequestContext = this.isPreRequestContext(context);
const isPostRequestContext = this.isPostRequestContext(context);
const next = async () => {
if (index >= this.plugins.length) {
if (isPreRequestContext) {
resolve(context.request);
} else if (isPostRequestContext) {
resolve(context.response);
}
return;
}
async processPlugins(requestId, hook, context, resolve) {
for (let index = 0; index < this.plugins.length; index++) {
const plugin = this.plugins[index];
if (this.hasBeenProcessed(requestId, plugin, hook)) {
index++;
next();
return;
continue;
}
index++;
this.processedHooks.get(requestId)[hook].add(plugin);
const timeout = setTimeout(() => {
console.error(`Plugin timed out: ${plugin.constructor.name}`);
context.next();
}, plugin.pluginTimeout || 3e3);
const method = isPreRequestContext ? "onPreRequest" : "onPostRequest";
context.next = () => {
clearTimeout(timeout);
next();
};
const result = await plugin[method]?.(context).catch((error) => {
const method = this.isPreRequestContext(context) ? "onPreRequest" : "onPostRequest";
try {
const result = await plugin[method]?.(context);
if (result instanceof Response) {
resolve(result);
return;
}
if (this.isPreRequestContext(context)) {
context.request = this.processingContext.get(requestId).request;
} else if (this.isPostRequestContext(context)) {
context.response = this.processingContext.get(requestId).response;
}
} catch (error) {
console.error(`Error in plugin: ${error}`);
clearTimeout(timeout);
context.next();
});
if (result instanceof Response) {
clearTimeout(timeout);
resolve(result);
return;
continue;
}
context.next();
};
next();
}
if (this.isPreRequestContext(context)) {
resolve(context.request);
} else if (this.isPostRequestContext(context)) {
resolve(context.response);
}
}
runPreRequestHooks(requestId, request) {
return new Promise((resolve) => {
this.modifiedRequest = request.clone();
const modifiedRequest = request.clone();
this.processingContext.set(requestId, { request: modifiedRequest });
const context = {
request: this.modifiedRequest,
request: modifiedRequest,
originalRequest: request,
next: () => {
},
pluginManager: this

@@ -101,8 +87,10 @@ };

return new Promise((resolve) => {
this.modifiedResponse = response.clone();
const modifiedResponse = response.clone();
if (!this.processingContext.has(requestId)) {
this.processingContext.set(requestId, {});
}
this.processingContext.get(requestId).response = modifiedResponse;
const context = {
response: this.modifiedResponse,
response: modifiedResponse,
originalRequest,
next: () => {
},
pluginManager: this

@@ -118,7 +106,7 @@ };

}
getModifiedRequest() {
return this.modifiedRequest;
getModifiedRequest(requestId) {
return this.processingContext.get(requestId)?.request;
}
getModifiedResponse() {
return this.modifiedResponse;
getModifiedResponse(requestId) {
return this.processingContext.get(requestId)?.response;
}

@@ -171,8 +159,5 @@ getPlugins() {

var BasePlugin = class {
pluginTimeout = 3e3;
async onPreRequest(context) {
context.next();
}
async onPostRequest(context) {
context.next();
}

@@ -179,0 +164,0 @@ };

@@ -5,2 +5,3 @@ declare class PluginManager {

private modifiedRequest;
private processingContext;
private modifiedResponse;

@@ -15,4 +16,4 @@ private processedHooks;

runPostRequestHooks(requestId: number, response: Response, originalRequest: Request): Promise<Response>;
getModifiedRequest(): Request;
getModifiedResponse(): Response;
getModifiedRequest(requestId: number): Request;
getModifiedResponse(requestId: number): Response;
getPlugins(): Plugin[];

@@ -30,3 +31,2 @@ generateNewRequestId(): number;

originalRequest: Request;
next: () => void;
pluginManager: PluginManager;

@@ -37,3 +37,2 @@ };

originalRequest: Request;
next: () => void;
pluginManager: PluginManager;

@@ -43,3 +42,2 @@ };

interface Plugin {
pluginTimeout?: number;
onPreRequest?: (context: PluginHandlerContext<PluginLifecycleHook.PRE_REQUEST>) => Promise<void | Response>;

@@ -56,3 +54,2 @@ onPostRequest?: (context: PluginHandlerContext<PluginLifecycleHook.POST_REQUEST>) => Promise<void | Response>;

declare abstract class BasePlugin implements Plugin {
pluginTimeout?: number;
onPreRequest(context: PluginHandlerContext<PluginLifecycleHook.PRE_REQUEST>): Promise<void | Response>;

@@ -59,0 +56,0 @@ onPostRequest(context: PluginHandlerContext<PluginLifecycleHook.POST_REQUEST>): Promise<void | Response>;

@@ -13,2 +13,3 @@ // src/interfaces/index.ts

modifiedRequest;
processingContext = /* @__PURE__ */ new Map();
modifiedResponse;

@@ -36,54 +37,39 @@ processedHooks = /* @__PURE__ */ new Map();

}
processPlugins(requestId, hook, context, resolve) {
let index = 0;
const isPreRequestContext = this.isPreRequestContext(context);
const isPostRequestContext = this.isPostRequestContext(context);
const next = async () => {
if (index >= this.plugins.length) {
if (isPreRequestContext) {
resolve(context.request);
} else if (isPostRequestContext) {
resolve(context.response);
}
return;
}
async processPlugins(requestId, hook, context, resolve) {
for (let index = 0; index < this.plugins.length; index++) {
const plugin = this.plugins[index];
if (this.hasBeenProcessed(requestId, plugin, hook)) {
index++;
next();
return;
continue;
}
index++;
this.processedHooks.get(requestId)[hook].add(plugin);
const timeout = setTimeout(() => {
console.error(`Plugin timed out: ${plugin.constructor.name}`);
context.next();
}, plugin.pluginTimeout || 3e3);
const method = isPreRequestContext ? "onPreRequest" : "onPostRequest";
context.next = () => {
clearTimeout(timeout);
next();
};
const result = await plugin[method]?.(context).catch((error) => {
const method = this.isPreRequestContext(context) ? "onPreRequest" : "onPostRequest";
try {
const result = await plugin[method]?.(context);
if (result instanceof Response) {
resolve(result);
return;
}
if (this.isPreRequestContext(context)) {
context.request = this.processingContext.get(requestId).request;
} else if (this.isPostRequestContext(context)) {
context.response = this.processingContext.get(requestId).response;
}
} catch (error) {
console.error(`Error in plugin: ${error}`);
clearTimeout(timeout);
context.next();
});
if (result instanceof Response) {
clearTimeout(timeout);
resolve(result);
return;
continue;
}
context.next();
};
next();
}
if (this.isPreRequestContext(context)) {
resolve(context.request);
} else if (this.isPostRequestContext(context)) {
resolve(context.response);
}
}
runPreRequestHooks(requestId, request) {
return new Promise((resolve) => {
this.modifiedRequest = request.clone();
const modifiedRequest = request.clone();
this.processingContext.set(requestId, { request: modifiedRequest });
const context = {
request: this.modifiedRequest,
request: modifiedRequest,
originalRequest: request,
next: () => {
},
pluginManager: this

@@ -101,8 +87,10 @@ };

return new Promise((resolve) => {
this.modifiedResponse = response.clone();
const modifiedResponse = response.clone();
if (!this.processingContext.has(requestId)) {
this.processingContext.set(requestId, {});
}
this.processingContext.get(requestId).response = modifiedResponse;
const context = {
response: this.modifiedResponse,
response: modifiedResponse,
originalRequest,
next: () => {
},
pluginManager: this

@@ -118,7 +106,7 @@ };

}
getModifiedRequest() {
return this.modifiedRequest;
getModifiedRequest(requestId) {
return this.processingContext.get(requestId)?.request;
}
getModifiedResponse() {
return this.modifiedResponse;
getModifiedResponse(requestId) {
return this.processingContext.get(requestId)?.response;
}

@@ -171,8 +159,5 @@ getPlugins() {

var BasePlugin = class {
pluginTimeout = 3e3;
async onPreRequest(context) {
context.next();
}
async onPostRequest(context) {
context.next();
}

@@ -179,0 +164,0 @@ };

{
"name": "@composite-fetcher/core",
"description": "Fetcher core",
"version": "0.1.4",
"version": "0.1.5",
"author": "Teofanis Papadopulos",

@@ -33,2 +33,3 @@ "type": "module",

"dependencies": {
"encoding": "^0.1.13",
"isomorphic-fetch": "^3.0.0"

@@ -35,0 +36,0 @@ },

Sorry, the diff of this file is not supported yet

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