From 08186b25f7e0b5b9d9ff16bec7de375d964ee16d Mon Sep 17 00:00:00 2001 From: Tadao Iseki Date: Sat, 7 Dec 2019 13:20:20 +0900 Subject: [PATCH] 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: https://github.com/nodejs/node/issues/30048 PR-URL: https://github.com/nodejs/node/pull/30830 Reviewed-By: Luigi Pinca Reviewed-By: Rich Trott --- doc/api/http.md | 56 +++++++++++++++---------------------------------- 1 file changed, 17 insertions(+), 39 deletions(-) diff --git a/doc/api/http.md b/doc/api/http.md index a9ddafa6eca4ce..c36ea0b98cb231 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1965,54 +1965,32 @@ Accept: text/plain\r\n \r\n ``` -Then `request.url` will be: +To parse the URL into its parts: - ```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`