Skip to content

Latest commit

 

History

History
72 lines (52 loc) · 1.5 KB

README.md

File metadata and controls

72 lines (52 loc) · 1.5 KB

yuri

CLI tool to parse URIs into their components

Installation

Binaries

Binaries for linux and macs can be downloaded and installed from the Github Releases.

Source

If you want to install from source:

$ git clone git@github.com:mwarkentin/yuri.git
$ cd yuri
$ make install

Examples

CLI

$ yuri "https://username:password@stage.example.com:443/path+to+foo?query1=1&query2=2#FRAG" | jq
{
  "fragment": "FRAG",
  "host": "stage.example.com:443",
  "hostname": "stage.example.com",
  "port": "443",
  "opaque": "",
  "password": "password",
  "path": "/path+to+foo",
  "rawpath": "/path+to+foo",
  "rawquery": "query1=1&query2=2",
  "scheme": "https",
  "username": "username"
}

Available fields

Here are the JSON fields provided by yuri:

  • scheme: type of URI
  • opaque: encoded opaque data
  • username: basic auth username
  • password: basic auth password
  • host: host or host:port
  • hostname: host without port
  • port: port
  • path: path
  • rawpath: encoded path
  • rawquery: encoded query values, without ?
  • fragment: fragment for references, without #

Developing yuri

Running tests

Run make test.

Updating dependencies

Run make vendor and check in updates.

Releasing

  • Push tag to Github: git tag x.y.z && git push origin x.y.z
  • Create release: gh release create x.y.z

Binaries for multiple architectures (linux / darwin) will be built in Github Actions.