diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-08-22 19:28:06 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-08-23 16:08:19 +0100 |
commit | 188319d5620126442635124f143ad7ff66455ebe (patch) | |
tree | 4ace3b6f5fcba576141545ae6e93a148ca15fdeb /src | |
parent | 5a6f1f93f87eb2e0ef2718dfdb8a7fd2e7d21346 (diff) | |
download | gleam_stdlib-188319d5620126442635124f143ad7ff66455ebe.tar.gz gleam_stdlib-188319d5620126442635124f143ad7ff66455ebe.zip |
Handle empty host
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/uri.gleam | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/gleam/uri.gleam b/src/gleam/uri.gleam index 882f17e..8e49c5b 100644 --- a/src/gleam/uri.gleam +++ b/src/gleam/uri.gleam @@ -15,7 +15,7 @@ if erlang { import gleam/list import gleam/result import gleam/dynamic.{Dynamic} - import gleam/map.{Map} + import gleam/map import gleam/function import gleam/pair } @@ -221,9 +221,6 @@ if erlang { pub fn path_segments(path: String) -> List(String) { remove_dot_segments(string.split(path, "/")) } - - external fn erl_to_string(Map(UriKey, Dynamic)) -> Dynamic = - "uri_string" "recompose" } /// Encodes a `Uri` value as a URI string. @@ -240,12 +237,10 @@ if erlang { /// ``` /// pub fn to_string(uri: Uri) -> String { - // TODO: query - // TODO: fragment let parts = [] let parts = [uri.path, ..parts] let parts = case uri.host, string.starts_with(uri.path, "/") { - Some(_), False -> ["/", ..parts] + Some(host), False if host != "" -> ["/", ..parts] _, _ -> parts } let parts = case uri.host, uri.port { |