url-parse-as-address

1.0.0 • Public • Published

url-parse-as-address

Parse a url assuming http if no protocol or // is provided.

Useful for parsing things like foo.com and not interpreting it as a path.

USAGE

var parse = require('url-parse-as-address')
var assert = require('assert')
 
assert.deepEqual(parse('foo.com:1234/x?y=z#a=b'),
  { protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'foo.com:1234',
    port: '1234',
    hostname: 'foo.com',
    hash: '#a=b',
    search: '?y=z',
    query: 'y=z',
    pathname: '/x',
    path: '/x?y=z',
    href: 'http://foo.com:1234/x?y=z#a=b' })
 
assert.deepEqual(parse('foo.com:1234/x?y=z#a=b', true),
  { protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'foo.com:1234',
    port: '1234',
    hostname: 'foo.com',
    hash: '#a=b',
    search: '?y=z',
    query: { y: 'z' },
    pathname: '/x',
    path: '/x?y=z',
    href: 'http://foo.com:1234/x?y=z#a=b' })
 
// etc

By default this lib assumes http: is the protocol if none is provided, because that's what web browsers do.

API

  • parse(url, parseQueryString) Parse a string to object.

  • parse.parse(..) Same function, for symmetry to url builtin

  • parse.format(url) Like url.format()

SEE ALSO

Dependents (17)

Package Sidebar

Install

npm i url-parse-as-address

Weekly Downloads

34,942

Version

1.0.0

License

ISC

Last publish

Collaborators

  • isaacs