Current section

Files

Jump to
exe src sh_path.erl
Raw

src/sh_path.erl

-module(sh_path).
-export([escape/1, unescape/1]).
escape(Path) -> R = reserved(), lists:append([char_encode(Char, R) || Char <- Path]).
unescape(Str) -> http_uri:decode(Str).
reserved() -> sets:from_list([$/, $\\, $:, $%]).
char_encode(Char, Reserved) ->
case sets:is_element(Char, Reserved) of
true -> [$% | http_util:integer_to_hexlist(Char)];
false -> [Char] end.