urilib
======
[RFC-3986](https://tools.ietf.org/html/rfc3986) URI Library for Erlang.
[![Build Status](https://travis-ci.org/gmr/urilib.svg?branch=master)](https://travis-ci.org/gmr/urilib) [![codecov.io](https://codecov.io/github/gmr/urilib/coverage.svg?branch=master)](https://codecov.io/github/gmr/urilib?branch=master)
API
---
### build/1 ###
```erlang
build(Uri::Value) -> URI
```
Value = #uri{} | #url{}
URI = string()
Returns a URI from the record passed in.
### decode/1 ###
```erlang
decode(Value) -> DecodedValue
```
Value = string()
DecodeValue = string()
Decode a percent encoded string value.
### decode_plus/1 ###
```erlang
decode_plus(Value) -> DecodedValue
```
Value = string()
DecodeValue = string()
Decode a percent encoded string value that uses pluses for spaces.
Note: The use of plus for space is defined in RFC-1630 but does not appear
in RFC-3986.
### encode/1 ###
```erlang
encode(Value) -> EncodedValue
```
Value = string()
EncodedValue = string()
Percent encode a string value.
### encode_plus/1 ###
```erlang
encode_plus(Value) -> EncodedValue
```
Value = string()
EncodedValue = string()
Percent encode a string value similar to encode/1, but encodes spaces with a
plus (+) instead of %20. This function can be used for encoding query arguments.
Note: The use of plus for space is defined in RFC-1630 but does not appear
in RFC-3986.
### parse_uri/1 ###
```erlang
parse_uri(URI) -> ParsedURI
```
URI = string()
ParsedURI = #uri{}
Parse a URI string returning the parsed data as a record
### parse_url/1 ###
```erlang
parse_url(URL) -> ParsedURL
```
URI = string()
ParsedURL = #url{}
Parse a URL string returning the parsed data as a record