npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@insaner/cors

v1.4.3

Published

This plugin allows you to handle CORS in Insaner.

Downloads

7

Readme

CORS plugin for the Insaner HTTP server

This plugin allows you to handle CORS in Insaner.

Installation:

npm install --save @insaner/cors

Usage:

import { HttpServer } from 'insaner';
import { CorsMiddleware } from '@insaner/cors';

const server = new HttpServer();

server.registerMiddleware(new CorsMiddleware({
  route: /^/, // which URLs should be handled; defaults to all URLs
  origin: true,
  headers: true,
  methods: true,
  credentials: true, // allow credentials; defaults to false
}));

The origin, headers, and methods options can be specified in a couple of ways:

  • Not specifying an option (or setting it to undefined) means that the corresponding Access-Control-Allow-* response header will never be sent.
  • true will make the handler echo the corresponding request value back to the client, e.g. a request with Origin: https://example.com will receive a response with Access-Control-Allow-Origin: https://example.com.
  • A string or an array of strings will make the handler always respond with the specified value; an array will be concatenated as appropriate. The origin option behaves slightly differently: the value is always converted to an array and the handler will respond back with the request origin if the origin is found in the array.
  • A regular expression will make the handler echo the values specified in the corresponding request headers filtered to only contain items matching the regular expression. For example, with methods: /^(get|post)$/, a pre-flight request with Access-Control-Request-Method: POST will result in a Access-Control-Allow-Methods: POST response header.