Socket
Socket
Sign inDemoInstall

nitro-cors

Package Overview
Dependencies
15
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    nitro-cors

observerly's CORS event handler for the Nitro web server


Version published
Weekly downloads
515
decreased by-8.2%
Maintainers
1
Install size
2.44 MB
Created
Weekly downloads
 

Readme

Source

nitro Cross-Origin Resource Sharing (CORS) Headers

nitro native CORS event handler.

Requirements

  • nitro v.2.6.* or higher

Installation

npm install nitro-cors
pnpm add nitro-cors
yarn add nitro-cors

Usage

nitro CORS is built upon the h3 CORS utilities provided by the h3 library. To read more about h3's inbuilt cors library, please consult the h3 repository.

To get started, you can enable CORS on a specific event handler by using the object syntax definitions intorduced in nitro v2.6.0 and h3 v1.8.0 as follows:

import { cors } from 'nitro-cors'

export default eventHandler({
  onRequest: [
    cors({
      origin: '*',
      methods: '*'
      // ... add your options overrides here
    })
  ],
  async handler(event) {
    return 'Hello CORS!'
  }
})

nitro-cors also provides a simple wrapper to define a CORS event handler per nitro event handler, or per route. To use it, simply import the defineCORSEventHandler function and wrap your event handler with it as follows:

import { defineCORSEventHandler } from 'nitro-cors'

const handler = eventHandler(async event => {
  // ...
})

export default defineCORSEventHandler(handler, {
  origin: '*',
  methods: '*'
})

...or... using as nitro middleware:

// :file middleware/cors.ts
import { corsEventHandler } from 'nitro-cors'

export default corsEventHandler(_event => {}, {
  origin: '*',
  methods: '*'
})

The defineCORSEventHandler and corsEventHandler functions take two arguments:

  • handler: the event handler to wrap of type EventHandler<T>, which will ensure typesafety for the event handler return type.
  • options: the options to pass to the cors handler of type H3CorsOptions. These are the same options as the ones passed to the h3 cors library.

Options

The options passed to the cors handler are the same as the ones passed to the h3 cors library. Please consult the h3 repository

Acknowledgements

This library would not be possible if it were not for standing on the shoulders of these giants:

Keywords

FAQs

Last updated on 12 Apr 2024

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc