normalize
Normalizes the segments of a URL path according to the following rules:
The returned path always begins with
/(e.g.,a/b/c→/a/b/c)The returned path ends with
/if the input path also doesEmpty segments are discarded (e.g.,
/a//b→/a/b)Segments of
.are discarded (e.g.,/a/./b→/a/b)Segments of
..are used to discard ancestor paths (e.g.,/a/b/../c→/a/c)All other segments are unmodified