Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
doc: update message.url example in http.IncomingMessage
Update message.url example to use The WHATWG URL API.
This is because the old example suggests using deprecated url API.

Fixes: #30048
PR-URL: #30830
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information
saitolume authored and BethGriggs committed Feb 6, 2020
1 parent d5bebc3 commit 5536048
Showing 1 changed file with 17 additions and 39 deletions.
56 changes: 17 additions & 39 deletions doc/api/http.md
Expand Up @@ -1965,54 +1965,32 @@ Accept: text/plain\r\n
\r\n
```

Then `request.url` will be:
To parse the URL into its parts:

<!-- eslint-disable semi -->
```js
'/status?name=ryan'
new URL(request.url, `http://${request.headers.host}`);
```

To parse the url into its parts `require('url').parse(request.url)`
can be used:
When `request.url` is `'/status?name=ryan'` and
`request.headers.host` is `'localhost:3000'`:

```console
$ node
> require('url').parse('/status?name=ryan')
Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?name=ryan',
query: 'name=ryan',
> new URL(request.url, request.headers.host)
URL {
href: 'http://localhost:3000/status?name=ryan',
origin: 'http://localhost:3000',
protocol: 'http:',
username: '',
password: '',
host: 'localhost:3000',
hostname: 'localhost',
port: '3000',
pathname: '/status',
path: '/status?name=ryan',
href: '/status?name=ryan' }
```

To extract the parameters from the query string, the
`require('querystring').parse` function can be used, or
`true` can be passed as the second argument to `require('url').parse`:

```console
$ node
> require('url').parse('/status?name=ryan', true)
Url {
protocol: null,
slashes: null,
auth: null,
host: null,
port: null,
hostname: null,
hash: null,
search: '?name=ryan',
query: { name: 'ryan' },
pathname: '/status',
path: '/status?name=ryan',
href: '/status?name=ryan' }
searchParams: URLSearchParams { 'name' => 'ryan' },
hash: ''
}
```

## `http.METHODS`
Expand Down

0 comments on commit 5536048

Please sign in to comment.