# corsify

> CORS up a route handler

Latest version **2.1.0** (published 2015-03-07) · 0 weekly downloads

## Install

```sh
npm install corsify
pnpm add corsify
yarn add corsify
bun add corsify
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.0 |
| Published | 2015-03-07 |
| First published | 2013-11-25 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 30 |
| Author | Raynos |
| Maintainers | raynos |

## Links

- npm: https://www.npmjs.com/package/corsify
- Repository: https://github.com/Raynos/corsify
- Issues: https://github.com/Raynos/corsify/issues
- npm.io page: https://npm.io/package/corsify

## Dependencies (1)

- [http-methods](https://npm.io/package/http-methods.md) ~0.1.0

## Recent versions

- 2.1.0 (latest) — 2015-03-07
- 2.0.0 — 2014-09-16
- 1.0.2 — 2013-11-25
- 1.0.1 — 2013-11-25
- 0.1.0 — 2013-11-25

## README

# corsify

<!--
    [![build status][1]][2]
    [![NPM version][3]][4]
    [![Coverage Status][5]][6]
    [![gemnasium Dependency Status][7]][8]
    [![Davis Dependency status][9]][10]
-->

<!-- [![browser support][11]][12] -->

CORS up a route handler

## Example

```js
var Corsify = require("corsify")
var http = require("http")

// cors headers set
http.createServer(Corsify(function (req, res) {
  console.log("sweet")
})).listen(8000)
```

## Example creating shared corsify

```js
var Corsify = require("corsify")
var Router = require("routes-router")

var cors = Corsify({
    "Access-Control-Allow-Methods": "POST, GET"
})

var app = Router()
app.addRoute("/users", cors(function (req, res) {
  res.end("users")
}))
app.addRoute("/posts", cors(function (req, res) {
  res.end("posts")
}))
app.addRoute("/api", Corsify({
  "Access-Control-Allow-Methods": "POST, GET, PUT, DELETE"
}, function (req, res) {
  res.end("api")
}))

http.createServer(app).listen(8000)
```

## Documentation

`Corsify(opts: Object, handler: (req, res)) => (req, res)`

`Corsify` can be called with options

```js
var opts = {
    // if this is set to false then preflight `OPTIONS` is
    // not terminated
    endOptions: Boolean,
    // if you want to compute the allowed origin manually you
    // pass in a getOrigin function
    getOrigin: (req, res) => String,
    // these are default header values you can set. Corsify
    // has sensible defaults. You can't use Allow-Origin and
    // getOrigin at the same time.
    "Access-Control-Allow-Origin": String,
    "Access-Control-Allow-Methods": String,
    "Access-Control-Allow-Credentials": String
    "Access-Control-Allow-Max-Age": String,
    "Access-Control-Allow-Headers": String
}
```

## Installation

`npm install corsify`

## Contributors

 - Raynos

## MIT Licenced

  [1]: https://secure.travis-ci.org/Raynos/corsify.png
  [2]: https://travis-ci.org/Raynos/corsify
  [3]: https://badge.fury.io/js/corsify.png
  [4]: https://badge.fury.io/js/corsify
  [5]: https://coveralls.io/repos/Raynos/corsify/badge.png
  [6]: https://coveralls.io/r/Raynos/corsify
  [7]: https://gemnasium.com/Raynos/corsify.png
  [8]: https://gemnasium.com/Raynos/corsify
  [9]: https://david-dm.org/Raynos/corsify.png
  [10]: https://david-dm.org/Raynos/corsify
  [11]: https://ci.testling.com/Raynos/corsify.png
  [12]: https://ci.testling.com/Raynos/corsify

---
_Source: https://npm.io/package/corsify · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
