Skip to content

radmen/miuri.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

70fd84f · May 21, 2014

History

31 Commits
May 21, 2014
May 21, 2014
May 21, 2014
May 21, 2014
May 21, 2014
Sep 24, 2012
May 21, 2014
May 21, 2014
May 21, 2014

Repository files navigation

miuri.js

Miuri is simple JavaScript class for parsing URIs. It's designed to be used in browser, but it can be used as a NodeJS module.

It can retrieve information:

miuri = require('miuri.js') // when run on Node.js

uri = new miuri('http://google.com')  
uri.hostname()  // google.com  
uri.protocol()  // http  
uri.path()      // /  

Also from URIs with complex queries:

uri = new miuri('/?test=foo&arr[]=1&arr[]=2&data[name]=bar')
uri.query('test') // foo  
uri.query('arr')  // [1, 2]  
uri.query('data') // {name: 'bar'}  
uri.query()       // {test: 'foo', arr: [1, 2], name: 'bar'}  

With Miuri you can build full URIs:

uri = new miuri()
uri.hostname('bing.com')
  .protocol('http')
  .path('search')
  .query({
    s: 'my test'
  })
  .toString() // http://bing.com/search?s=my%20test

API reference

protocol([protocol])

username([username])

password([password])

host([host])

hostname([host])

An alias fo host()

port([port])

path([path])

query([prop, [value]])

fragment([fragment])

pathinfo()

Returns object with path details:

  • dirname
  • basename
  • extension
  • filename

Example for url http://google.com/path/to/file.txt:

{
  "dirname": "/path/to",
  "basename": "file.txt",
  "extension": "txt",
  "filename": "file"
}

toString()

License

Miuri is released under a MIT License.