New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

perstorp

Package Overview
Dependencies
Maintainers
0
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

perstorp

A file based routing library

latest
Source
npmnpm
Version
1.4.1
Version published
Weekly downloads
0
Maintainers
0
Weekly downloads
 
Created
Source
Perstorp Municipal Sheild

A Typescript compatible file based router for Node.js.

Made for sending json and getting json.

Insallation

$ npm i perstorp

Setup

Config

Make sure to create a file named perstorp.config.json in the root of your project.

It should look something like this:

{
  "cors": {
    "origin": "*",
    "methods": "GET,POST,PUT,DELETE",
    "headers": "Content-Type,Authorization"
  },
  "routesPath": "/api/v1/routes",
  "logger": true,
  "timeout": 1000,
  "typescript": true
}
  • cors: You can read more about it here.
  • routesPath: Is the path to the directory where you store your routes
  • logger (optional): Defaults to false. Creates pretty logs from the activity on the server.
  • timeout (optional): Time limit for a request
  • typescript (optional): Needs to be set to true if you're using typescript.

Creating a server

import perstorp from "perstorp";

const PORT = 3000;

const app = perstorp();

app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

Routes

In order to create a route you just create a new directory in the directory that you specified in the perstorp.config.json. Create a file called index.ts in the new directory.

Example

/api/v1/routes/hello/index.ts

Get function

The function has to have the name get

import type { ReqHandler } from "perstorp";

export const get: ReqHandler = ({ res }) => {
  res.json({ message: "World" });
};

Data

To get the data that is sent with the request just use the data parameter in your request handler.

import type { ReqHandler } from "perstorp";

export const post: ReqHandler = ({ res, data }) => {
  console.log(data); // Outputs json recieved in the request
  res.json({ message: "World" });
};

Search parameters

To get the search params for the request just use the params parameter in your request handler

import type { ReqHandler } from "perstorp";

export const post: ReqHandler = ({ res, params }) => {
  console.log(params); // Outputs search params
  res.json({ message: "World" });
};

Sending a JSON response

Use the json function on the res object

import type { Reqhandler } from "perstorp";

export const get: ReqHandler = ({ res }) => {
  res.json({ message: "World" }); // No need to stringify it. Perstorp does that for you.
};

Context

Use the context object to store things you might want to use in your handlers

index.ts

import perstorp from "perstorp";
import SomethingYouNeed from "somethingyouneed";

const PORT = 3000;

const somethingYouNeed = new SomethingYouNeed();

const app = perstorp({ somethingYouNeed });

app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

the handler

import type { ReqHandler } from "perstorp";

export const get: ReqHandler = ({ res, context }) => {
  const { somethingYouNeed } = context;
  res.json({ message: "World" });
};

Keywords

typescript

FAQs

Package last updated on 16 Oct 2024

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