mirror of
https://github.com/expressjs/expressjs.com.git
synced 2026-02-21 19:41:33 +00:00
docs: update external docs (#2122)
Co-authored-by: Create or Update Pull Request Action <create-or-update-pull-request@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
36b33cfdee
commit
a1efc643c0
@@ -1,2 +1,2 @@
|
||||
current_version: "5.1.0"
|
||||
current_version: "5.2.1"
|
||||
next_version: "undefined"
|
||||
@@ -17,18 +17,18 @@ before trusting. For example, `req.body.foo.toString()` may fail in multiple
|
||||
ways, for example the `foo` property may not be there or may not be a string,
|
||||
and `toString` may not be a function and instead a string or other user input.
|
||||
|
||||
[Learn about the anatomy of an HTTP transaction in Node.js](https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/).
|
||||
[Learn about the anatomy of an HTTP transaction in Node.js](https://nodejs.org/en/learn/http/anatomy-of-an-http-transaction).
|
||||
|
||||
_This does not handle multipart bodies_, due to their complex and typically
|
||||
large nature. For multipart bodies, you may be interested in the following
|
||||
modules:
|
||||
|
||||
* [busboy](https://www.npmjs.org/package/busboy#readme) and
|
||||
[connect-busboy](https://www.npmjs.org/package/connect-busboy#readme)
|
||||
* [multiparty](https://www.npmjs.org/package/multiparty#readme) and
|
||||
[connect-multiparty](https://www.npmjs.org/package/connect-multiparty#readme)
|
||||
* [formidable](https://www.npmjs.org/package/formidable#readme)
|
||||
* [multer](https://www.npmjs.org/package/multer#readme)
|
||||
* [busboy](https://www.npmjs.com/package/busboy#readme) and
|
||||
[connect-busboy](https://www.npmjs.com/package/connect-busboy#readme)
|
||||
* [multiparty](https://www.npmjs.com/package/multiparty#readme) and
|
||||
[connect-multiparty](https://www.npmjs.com/package/connect-multiparty#readme)
|
||||
* [formidable](https://www.npmjs.com/package/formidable#readme)
|
||||
* [multer](https://www.npmjs.com/package/multer#readme)
|
||||
|
||||
This module provides the following parsers:
|
||||
|
||||
@@ -39,8 +39,8 @@ This module provides the following parsers:
|
||||
|
||||
Other body parsers you might be interested in:
|
||||
|
||||
- [body](https://www.npmjs.org/package/body#readme)
|
||||
- [co-body](https://www.npmjs.org/package/co-body#readme)
|
||||
- [body](https://www.npmjs.com/package/body#readme)
|
||||
- [co-body](https://www.npmjs.com/package/co-body#readme)
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -109,7 +109,7 @@ accept anything `JSON.parse` accepts. Defaults to `true`.
|
||||
The `type` option is used to determine what media type the middleware will
|
||||
parse. This option can be a string, array of strings, or a function. If not a
|
||||
function, `type` option is passed directly to the
|
||||
[type-is](https://www.npmjs.org/package/type-is#readme) library and this can
|
||||
[type-is](https://www.npmjs.com/package/type-is#readme) library and this can
|
||||
be an extension name (like `json`), a mime type (like `application/json`), or
|
||||
a mime type with a wildcard (like `*/*` or `*/json`). If a function, the `type`
|
||||
option is called as `fn(req)` and the request is parsed if it returns a truthy
|
||||
@@ -154,7 +154,7 @@ to `'100kb'`.
|
||||
The `type` option is used to determine what media type the middleware will
|
||||
parse. This option can be a string, array of strings, or a function.
|
||||
If not a function, `type` option is passed directly to the
|
||||
[type-is](https://www.npmjs.org/package/type-is#readme) library and this
|
||||
[type-is](https://www.npmjs.com/package/type-is#readme) library and this
|
||||
can be an extension name (like `bin`), a mime type (like
|
||||
`application/octet-stream`), or a mime type with a wildcard (like `*/*` or
|
||||
`application/*`). If a function, the `type` option is called as `fn(req)`
|
||||
@@ -205,7 +205,7 @@ to `'100kb'`.
|
||||
The `type` option is used to determine what media type the middleware will
|
||||
parse. This option can be a string, array of strings, or a function. If not
|
||||
a function, `type` option is passed directly to the
|
||||
[type-is](https://www.npmjs.org/package/type-is#readme) library and this can
|
||||
[type-is](https://www.npmjs.com/package/type-is#readme) library and this can
|
||||
be an extension name (like `txt`), a mime type (like `text/plain`), or a mime
|
||||
type with a wildcard (like `*/*` or `text/*`). If a function, the `type`
|
||||
option is called as `fn(req)` and the request is parsed if it returns a
|
||||
@@ -239,7 +239,7 @@ any of the following keys:
|
||||
The "extended" syntax allows for rich objects and arrays to be encoded into the
|
||||
URL-encoded format, allowing for a JSON-like experience with URL-encoded. For
|
||||
more information, please [see the qs
|
||||
library](https://www.npmjs.org/package/qs#readme).
|
||||
library](https://www.npmjs.com/package/qs#readme).
|
||||
|
||||
Defaults to `false`.
|
||||
|
||||
@@ -266,7 +266,7 @@ than this value, a 413 will be returned to the client. Defaults to `1000`.
|
||||
The `type` option is used to determine what media type the middleware will
|
||||
parse. This option can be a string, array of strings, or a function. If not
|
||||
a function, `type` option is passed directly to the
|
||||
[type-is](https://www.npmjs.org/package/type-is#readme) library and this can
|
||||
[type-is](https://www.npmjs.com/package/type-is#readme) library and this can
|
||||
be an extension name (like `urlencoded`), a mime type (like
|
||||
`application/x-www-form-urlencoded`), or a mime type with a wildcard (like
|
||||
`*/x-www-form-urlencoded`). If a function, the `type` option is called as
|
||||
@@ -488,7 +488,7 @@ app.use(bodyParser.text({ type: 'text/html' }))
|
||||
[coveralls-image]: https://img.shields.io/coverallsCoverage/github/expressjs/body-parser?branch=master
|
||||
[coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master
|
||||
[npm-downloads-image]: https://img.shields.io/npm/dm/body-parser
|
||||
[npm-url]: https://npmjs.org/package/body-parser
|
||||
[npm-url]: https://npmjs.com/package/body-parser
|
||||
[npm-version-image]: https://img.shields.io/npm/v/body-parser
|
||||
[ossf-scorecard-badge]: https://api.scorecard.dev/projects/github.com/expressjs/body-parser/badge
|
||||
[ossf-scorecard-visualizer]: https://ossf.github.io/scorecard-visualizer/#/projects/github.com/expressjs/body-parser
|
||||
[ossf-scorecard-visualizer]: https://ossf.github.io/scorecard-visualizer/#/projects/github.com/expressjs/body-parser
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
[![Build Status][github-actions-ci-image]][github-actions-ci-url]
|
||||
[![Test Coverage][coveralls-image]][coveralls-url]
|
||||
|
||||
CORS is a node.js package for providing a [Connect](http://www.senchalabs.org/connect/)/[Express](http://expressjs.com/) middleware that can be used to enable [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) with various options.
|
||||
|
||||
**[Follow me (@troygoode) on Twitter!](https://twitter.com/intent/user?screen_name=troygoode)**
|
||||
CORS is a [Node.js](https://nodejs.org/en/) package for providing a [Connect](https://github.com/senchalabs/connect)/[Express](https://expressjs.com/) middleware that can be used to enable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) with various options.
|
||||
|
||||
* [Installation](#installation)
|
||||
* [Usage](#usage)
|
||||
@@ -19,13 +17,13 @@ CORS is a node.js package for providing a [Connect](http://www.senchalabs.org/co
|
||||
* [Customizing CORS Settings Dynamically per Request](#customizing-cors-settings-dynamically-per-request)
|
||||
* [Configuration Options](#configuration-options)
|
||||
* [License](#license)
|
||||
* [Author](#author)
|
||||
* [Original Author](#original-author)
|
||||
|
||||
## Installation
|
||||
|
||||
This is a [Node.js](https://nodejs.org/en/) module available through the
|
||||
[npm registry](https://www.npmjs.com/). Installation is done using the
|
||||
[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
|
||||
[`npm install` command](https://docs.npmjs.com/downloading-and-installing-packages-locally):
|
||||
|
||||
```sh
|
||||
$ npm install cors
|
||||
@@ -211,7 +209,7 @@ app.listen(80, function () {
|
||||
## Configuration Options
|
||||
|
||||
* `origin`: Configures the **Access-Control-Allow-Origin** CORS header. Possible values:
|
||||
- `Boolean` - set `origin` to `true` to reflect the [request origin](http://tools.ietf.org/html/draft-abarth-origin-09), as defined by `req.header('Origin')`, or set it to `false` to disable CORS.
|
||||
- `Boolean` - set `origin` to `true` to reflect the [request origin](https://datatracker.ietf.org/doc/html/draft-abarth-origin-09), as defined by `req.header('Origin')`, or set it to `false` to disable CORS.
|
||||
- `String` - set `origin` to a specific origin. For example, if you set it to
|
||||
- `"http://example.com"` only requests from "http://example.com" will be allowed.
|
||||
- `"*"` for all domains to be allowed.
|
||||
@@ -237,21 +235,21 @@ The default configuration is the equivalent of:
|
||||
}
|
||||
```
|
||||
|
||||
For details on the effect of each CORS header, read [this](https://web.dev/cross-origin-resource-sharing/) article on web.dev.
|
||||
For details on the effect of each CORS header, read [this](https://web.dev/articles/cross-origin-resource-sharing) article.
|
||||
|
||||
## License
|
||||
|
||||
[MIT License](http://www.opensource.org/licenses/mit-license.php)
|
||||
|
||||
## Author
|
||||
## Original Author
|
||||
|
||||
[Troy Goode](https://github.com/TroyGoode) ([troygoode@gmail.com](mailto:troygoode@gmail.com))
|
||||
|
||||
[coveralls-image]: https://img.shields.io/coveralls/expressjs/cors/master.svg
|
||||
[coveralls-url]: https://coveralls.io/r/expressjs/cors?branch=master
|
||||
[downloads-image]: https://img.shields.io/npm/dm/cors.svg
|
||||
[downloads-url]: https://npmjs.org/package/cors
|
||||
[downloads-url]: https://npmjs.com/package/cors
|
||||
[github-actions-ci-image]: https://img.shields.io/github/actions/workflow/status/expressjs/cors/ci.yml?branch=master&label=ci
|
||||
[github-actions-ci-url]: https://github.com/expressjs/cors?query=workflow%3Aci
|
||||
[npm-image]: https://img.shields.io/npm/v/cors.svg
|
||||
[npm-url]: https://npmjs.org/package/cors
|
||||
[npm-url]: https://npmjs.com/package/cors
|
||||
|
||||
@@ -18,7 +18,7 @@ $ npm install serve-static
|
||||
## API
|
||||
|
||||
```js
|
||||
var serveStatic = require('serve-static')
|
||||
const serveStatic = require('serve-static')
|
||||
```
|
||||
|
||||
### serveStatic(root, options)
|
||||
@@ -132,15 +132,15 @@ the arguments are:
|
||||
### Serve files with vanilla node.js http server
|
||||
|
||||
```js
|
||||
var finalhandler = require('finalhandler')
|
||||
var http = require('http')
|
||||
var serveStatic = require('serve-static')
|
||||
const finalhandler = require('finalhandler')
|
||||
const http = require('http')
|
||||
const serveStatic = require('serve-static')
|
||||
|
||||
// Serve up public/ftp folder
|
||||
var serve = serveStatic('public/ftp', { index: ['index.html', 'index.htm'] })
|
||||
const serve = serveStatic('public/ftp', { index: ['index.html', 'index.htm'] })
|
||||
|
||||
// Create server
|
||||
var server = http.createServer(function onRequest (req, res) {
|
||||
const server = http.createServer((req, res) => {
|
||||
serve(req, res, finalhandler(req, res))
|
||||
})
|
||||
|
||||
@@ -151,13 +151,13 @@ server.listen(3000)
|
||||
### Serve all files as downloads
|
||||
|
||||
```js
|
||||
var contentDisposition = require('content-disposition')
|
||||
var finalhandler = require('finalhandler')
|
||||
var http = require('http')
|
||||
var serveStatic = require('serve-static')
|
||||
const contentDisposition = require('content-disposition')
|
||||
const finalhandler = require('finalhandler')
|
||||
const http = require('http')
|
||||
const serveStatic = require('serve-static')
|
||||
|
||||
// Serve up public/ftp folder
|
||||
var serve = serveStatic('public/ftp', {
|
||||
const serve = serveStatic('public/ftp', {
|
||||
index: false,
|
||||
setHeaders: setHeaders
|
||||
})
|
||||
@@ -168,7 +168,7 @@ function setHeaders (res, path) {
|
||||
}
|
||||
|
||||
// Create server
|
||||
var server = http.createServer(function onRequest (req, res) {
|
||||
const server = http.createServer((req, res) => {
|
||||
serve(req, res, finalhandler(req, res))
|
||||
})
|
||||
|
||||
@@ -183,10 +183,10 @@ server.listen(3000)
|
||||
This is a simple example of using Express.
|
||||
|
||||
```js
|
||||
var express = require('express')
|
||||
var serveStatic = require('serve-static')
|
||||
const express = require('express')
|
||||
const serveStatic = require('serve-static')
|
||||
|
||||
var app = express()
|
||||
const app = express()
|
||||
|
||||
app.use(serveStatic('public/ftp', { index: ['default.html', 'default.htm'] }))
|
||||
app.listen(3000)
|
||||
@@ -199,11 +199,11 @@ Files are searched for in `public-optimized/` first, then `public/` second
|
||||
as a fallback.
|
||||
|
||||
```js
|
||||
var express = require('express')
|
||||
var path = require('path')
|
||||
var serveStatic = require('serve-static')
|
||||
const express = require('express')
|
||||
const path = require('path')
|
||||
const serveStatic = require('serve-static')
|
||||
|
||||
var app = express()
|
||||
const app = express()
|
||||
|
||||
app.use(serveStatic(path.join(__dirname, 'public-optimized')))
|
||||
app.use(serveStatic(path.join(__dirname, 'public')))
|
||||
@@ -217,11 +217,11 @@ file. In this example, HTML files are not cached, while everything else
|
||||
is for 1 day.
|
||||
|
||||
```js
|
||||
var express = require('express')
|
||||
var path = require('path')
|
||||
var serveStatic = require('serve-static')
|
||||
const express = require('express')
|
||||
const path = require('path')
|
||||
const serveStatic = require('serve-static')
|
||||
|
||||
var app = express()
|
||||
const app = express()
|
||||
|
||||
app.use(serveStatic(path.join(__dirname, 'public'), {
|
||||
maxAge: '1d',
|
||||
|
||||
Reference in New Issue
Block a user