Skip to content

Commit

Permalink
doc: recommend URL() over url.parse() in http2 doc
Browse files Browse the repository at this point in the history
PR-URL: #34978
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
  • Loading branch information
Trott committed Sep 1, 2020
1 parent 51425a8 commit 492c34f
Showing 1 changed file with 14 additions and 37 deletions.
51 changes: 14 additions & 37 deletions doc/api/http2.md
Original file line number Diff line number Diff line change
Expand Up @@ -3142,46 +3142,25 @@ Then `request.url` will be:
'/status?name=ryan'
```

To parse the url into its parts, [`url.parse(request.url)`][`url.parse()`].
To parse the url into its parts, `new URL()` can be used:

```console
$ node
> 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', 'http://example.com')
URL {
href: 'http://example.com/status?name=ryan',
origin: 'http://example.com',
protocol: 'http:',
username: '',
password: '',
host: 'example.com',
hostname: 'example.com',
port: '',
pathname: '/status',
path: '/status?name=ryan',
href: '/status?name=ryan' }
```

To obtain the parameters from the query string, use the
[`querystring.parse()`][] function or pass
`true` as the second argument to [`url.parse()`][].

```console
$ node
> 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: ''
}
```

### Class: `http2.Http2ServerResponse`
Expand Down Expand Up @@ -3766,7 +3745,6 @@ you need to implement any fall-back behaviour yourself.
[`net.Socket.prototype.unref()`]: net.html#net_socket_unref
[`net.Socket`]: net.html#net_class_net_socket
[`net.connect()`]: net.html#net_net_connect
[`querystring.parse()`]: querystring.html#querystring_querystring_parse_str_sep_eq_options
[`request.authority`]: #http2_request_authority
[`request.socket`]: #http2_request_socket
[`request.socket.getPeerCertificate()`]: tls.html#tls_tlssocket_getpeercertificate_detailed
Expand All @@ -3782,7 +3760,6 @@ you need to implement any fall-back behaviour yourself.
[`tls.TLSSocket`]: tls.html#tls_class_tls_tlssocket
[`tls.connect()`]: tls.html#tls_tls_connect_options_callback
[`tls.createServer()`]: tls.html#tls_tls_createserver_options_secureconnectionlistener
[`url.parse()`]: url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
[`writable.writableFinished`]: stream.html#stream_writable_writablefinished
[error code]: #error_codes
[Sensitive headers]: #http2-sensitive-headers

0 comments on commit 492c34f

Please sign in to comment.