Current section
Files
Jump to
Current section
Files
src/uri/uri.gleam
// Path is required in erlang map, for consistency an empty path could be considered Error(Nil), but this might not feel consistent with query/fragments
import gleam/result.{Option}
pub type Uri {
Uri(
scheme: Option(String),
userinfo: Option(String),
host: Option(String),
port: Option(Int),
path: String,
query: Option(String),
fragment: Option(String),
)
}
pub external fn parse(String) -> Result(Uri, Nil) =
"uri_native" "parse"
pub external fn parse_query(
String,
) -> Result(List(tuple(String, String)), Nil) =
"uri_native" "parse_query"
pub external fn query_to_string(List(tuple(String, String))) -> String =
"uri_native" "query_to_string"
pub external fn to_string(Uri) -> String =
"uri_native" "to_string"