Skip to content

Instantly share code, notes, and snippets.

@u3s
Created January 4, 2022 09:11
Show Gist options
  • Save u3s/1e70910747c332cba7a918f34a8f2268 to your computer and use it in GitHub Desktop.
Save u3s/1e70910747c332cba7a918f34a8f2268 to your computer and use it in GitHub Desktop.
GH-5487
uri_string:parse("http://localhost:4000/session?foo[bar]=baz").
uri_string:parse/1@372 >>> when is_list(URIString) Binary = <<"http://localhost:4000/session?foo[bar]=baz">>
uri_string:parse_uri_reference/1@628 >>>
uri_string:parse_scheme_start/2@817 >>> Char = h, Rest = <<"ttp://localhost:4000/session?foo[bar]=baz">>, URI = #{}
uri_string:parse_scheme/2@852 >>> is_scheme(t) = true
uri_string:parse_scheme/2@852 >>> is_scheme(t) = true
uri_string:parse_scheme/2@852 >>> is_scheme(p) = true
uri_string:parse_scheme/2@846 >>> $:
uri_string:parse_hier/2@879 >>> // Rest = <<"localhost:4000/session?foo[bar]=baz">>
uri_string:parse_userinfo/2@953 >>> is_userinfo(l) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(o) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(c) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(a) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(l) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(h) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(o) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(s) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(t) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(:) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(4) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(0) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(0) == true
uri_string:parse_userinfo/2@953 >>> is_userinfo(0) == true
uri_string:parse_userinfo/2@956 >>> is_userinfo(/) == false throw({error,invalid_uri,[/]})
uri_string:parse_hier/2@888 >>> catched throw:{error, invalid_uri, "/"}
uri_string:parse_host/2@1046 >>> is_digit(l) == false
uri_string:parse_reg_name/2@1082 >>> is_reg_name(l) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(o) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(c) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(a) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(l) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(h) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(o) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(s) == true
uri_string:parse_reg_name/2@1082 >>> is_reg_name(t) == true
uri_string:parse_reg_name/2@1056 >>> $:
uri_string:parse_port/2@1224 >>> is_digit(4) == true
uri_string:parse_port/2@1224 >>> is_digit(0) == true
uri_string:parse_port/2@1224 >>> is_digit(0) == true
uri_string:parse_port/2@1224 >>> is_digit(0) == true
uri_string:parse_port/2@1207 >>> $/
uri_string:parse_segment/2@749 >>> is_pchar(s) == true
uri_string:parse_segment/2@749 >>> is_pchar(e) == true
uri_string:parse_segment/2@749 >>> is_pchar(s) == true
uri_string:parse_segment/2@749 >>> is_pchar(s) == true
uri_string:parse_segment/2@749 >>> is_pchar(i) == true
uri_string:parse_segment/2@749 >>> is_pchar(o) == true
uri_string:parse_segment/2@749 >>> is_pchar(n) == true
uri_string:parse_segment/2@735 >>> $?
uri_string:parse_query/2@1256 >>> is_query(Char) = true, Rest = <<"oo[bar]=baz">>
uri_string:parse_query/2@1256 >>> is_query(Char) = true, Rest = <<"o[bar]=baz">>
uri_string:parse_query/2@1256 >>> is_query(Char) = true, Rest = <<"[bar]=baz">>
uri_string:parse_query/2@1259 >>> is_query([) = false, Rest = <<"bar]=baz">> throw({error,invalid_uri,[[]})
uri_string:parse_uri_reference/1@632 >>> catched throw:{error, invalid_uri, "["}
uri_string:parse_relative_part/2@688 >>> is_segment_nz_nc(h) == true
uri_string:parse_segment_nz_nc/2@780 >>> is_segment_nz_nc(t) == true
uri_string:parse_segment_nz_nc/2@780 >>> is_segment_nz_nc(t) == true
uri_string:parse_segment_nz_nc/2@780 >>> is_segment_nz_nc(p) == true
uri_string:parse_segment_nz_nc/2@783 >>> is_segment_nz_nc(:) == false throw({error,invalid_uri,[:]})
{error,invalid_uri,":"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment