motion
Version:
motion - moving development forward
60 lines (45 loc) • 1.29 kB
Markdown
# 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
```javascript
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
* https://iojs.org/api/url.html
* https://nodejs.org/api/url.html