Socket
Book a DemoInstallSign in
Socket

configurapi

Package Overview
Dependencies
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

configurapi

A configurable API framework

latest
Source
npmnpm
Version
2.3.0
Version published
Weekly downloads
1.1K
5.59%
Maintainers
1
Weekly downloads
 
Created
Source

Configurapi

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.

Example Config

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.

Keywords

api

FAQs

Package last updated on 28 Oct 2025

Did you know?

Socket

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.

Install

Related posts