mirror of
https://github.com/correl/urilib.git
synced 2024-12-01 11:10:03 +00:00
3.2 KiB
3.2 KiB
urilib
RFC-3986 URI Library for Erlang.
Example Usage
-include_lib("urilib.h").
URI = urilib:parse_uri("http://foo:bar@www.google.com/search?baz=qux#corgie"),
io:format("Parsed URI: ~p~n", [URI]).
URL = urllib:build(#url{scheme=http, host="www.google.com", path="/search", query=[{"foo", "bar"}], fragment="baz"}),
io:format("Built URL: ~s~n", [URL]).
Records
authority
#{host :: string(), port :: integer()}).
userinfo
#{username :: string(), password :: string()}).
uri
#{scheme :: atom(),
userinfo :: #userinfo{},
authority :: #authority{},
path :: string(),
query :: list(),
fragment :: string()}).
url
#{scheme :: atom(),
username :: string(),
password :: string(),
host :: string(),
port :: integer(),
path :: string(),
query :: list(),
fragment :: string()}).
API
build/1
build(Uri::Value) -> URI
Value = #uri{} | #url{}
URI = string()
Returns a URI from the record passed in.
decode/1
decode(Value) -> DecodedValue
Value = string()
DecodeValue = string()
Decode a percent encoded string value.
decode_plus/1
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
encode(Value) -> EncodedValue
Value = string()
EncodedValue = string()
Percent encode a string value.
encode_plus/1
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
parse_uri(URI) -> ParsedURI
URI = string()
ParsedURI = #uri{}
Parse a URI string returning the parsed data as a record
parse_url/1
parse_url(URL) -> ParsedURL
URI = string()
ParsedURL = #url{}
Parse a URL string returning the parsed data as a record