
Security News
curl Shuts Down Bug Bounty Program After Flood of AI Slop Reports
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.
configurapi
Advanced tools
Configurapi allows developers to develop APIs easily, without worrying about the majority of the underlying details.
Configurapi requires a folder /handlers witin the project which contains the handlers referenced in the config.yaml.
This is an example of a basic API config file. An API can have events and modules, events refer to http request name and are formatted by '{http-request-method}_path. The available methods for the events are list, get, patch, post, and delete.
Every name refers to an http request type and path, and every policy refers to an exported handler. Policies also allow parameters to be passed in, which will be passed into the handler when executed.
Modules allow imported handlers from other libraries, for example if handler is created within a library and exported, it can be referenced in an event policies.
api:
modules:
- some-library-1
- some-library-2
events:
- name: list_collections
policies:
- setResponseBodyHandler:
- "Hi there"
- setResponseStatusCodeHandler:
- 201
- name: post_collection
policies:
- setResponseBodyHandler:
- "This is an expected response."
- stopPromiseHandler
- setResponseBodyHandler:
- "This is an invalid response."
- name: delete_collection
policies:
- setResponseBodyHandler:
- "This is an expected response."
- stopHandler
- setResponseBodyHandler:
- "This is an invalid response."
- name: get_collection
policies:
- throwErrorHandler
- name: list_emittable
policies:
- emittableHandler
#Handler Example This is a basic handler example.
In this example there is a param which can be passed, this would be passed in the policy for example with config:
api:
events:
policies:
- handlerThatDoesSomething:
- "a passed param"
import { IEvent } from 'configurapi';
import { JsonResponse } from 'configurapi-handler-json';
export async function handlerThatDoesSomething(event: IEvent, aParam?: string) {
//...Do Some Stuff
event.response = new JsonResponse({ param: aParam || "default param if there was none passed" });
return this.continue();
}
Events have the fields correlationId, params, id, query, headers, body, request, payload, identity and response.
If this.complete() is called inside of a handler, it will return at that handler, without going to the next.
this.continue() called inside of a handler will go to the next handler.
Identity allows handlers to store user identity credentials, and can be passed down to preceding handlers.
FAQs
A configurable API framework
The npm package configurapi receives a total of 1,120 weekly downloads. As such, configurapi popularity was classified as popular.
We found that configurapi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.

Product
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.