Skip to content

Commit

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

Fixes: nodejs#30048
Refs: https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_message_url
  • Loading branch information
saitolume committed Dec 7, 2019
1 parent 6669cd1 commit 8f76b05
Showing 1 changed file with 16 additions and 39 deletions.
55 changes: 16 additions & 39 deletions doc/api/http.md
Original file line number Diff line number Diff line change
Expand Up @@ -1973,54 +1973,31 @@ Accept: text/plain\r\n
\r\n
```

Then `request.url` will be:
To parse the url into its parts The WHATWG URL API can be used:

<!-- 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('/status?name=ryan', 'localhost:3000')
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 8f76b05

Please sign in to comment.