| Name | Size | Mode | Actions |
|---|---|---|---|
| index.js | 1578 | 0644 | editdlrm |
| LICENSE | 1089 | 0644 | editdlrm |
| package.json | 1092 | 0644 | editdlrm |
| README.md | 3221 | 0644 | editdlrm |
/home/techb158/trello.abdallabala.com/node_modules/encodeurl/README.md (3221B)
Location ' + escapeHtml(url) + ' not found
' // send a 404 res.statusCode = 404 res.setHeader('Content-Type', 'text/html; charset=UTF-8') res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8'))) res.end(body, 'utf-8') }) ``` ### Encode a URL for use in a header field ```js var encodeUrl = require('encodeurl') var escapeHtml = require('escape-html') var url = require('url') http.createServer(function onRequest (req, res) { // parse inbound url var href = url.parse(req) // set new host for redirect href.host = 'localhost' href.protocol = 'https:' href.slashes = true // create location header var location = encodeUrl(url.format(href)) // create html message var body = 'Redirecting to new site: ' + escapeHtml(location) + '
' // send a 301 res.statusCode = 301 res.setHeader('Content-Type', 'text/html; charset=UTF-8') res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8'))) res.setHeader('Location', location) res.end(body, 'utf-8') }) ``` ## Similarities This function is _similar_ to the intrinsic function `encodeURI`. However, it will not encode: * The `\`, `^`, or `|` characters * The `%` character when it's part of a valid sequence * `[` and `]` (for IPv6 hostnames) * Replaces raw, unpaired surrogate pairs with the Unicode replacement character As a result, the encoding aligns closely with the behavior in the [WHATWG URL specification][whatwg-url]. However, this package only encodes strings and does not do any URL parsing or formatting. It is expected that any output from `new URL(url)` will not change when used with this package, as the output has already been encoded. Additionally, if we were to encode before `new URL(url)`, we do not expect the before and after encoded formats to be parsed any differently. ## Testing ```sh $ npm test $ npm run lint ``` ## References - [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax][rfc-3986] - [WHATWG URL Living Standard][whatwg-url] [rfc-3986]: https://tools.ietf.org/html/rfc3986 [whatwg-url]: https://url.spec.whatwg.org/ ## License [MIT](LICENSE)