🤖
ElixirでURLを扱うときはURIモジュールを使おう
ElixirでURLを扱うときはURIモジュールというモジュールがあるので、これを利用するとgoodです。
hexdocsにある使用例を紹介します。
URLのparse
iex> URI.parse("https://elixir-lang.org/")
%URI{
authority: "elixir-lang.org",
fragment: nil,
host: "elixir-lang.org",
path: "/",
port: 443,
query: nil,
scheme: "https",
userinfo: nil
}
pathのmerge
iex> URI.merge(URI.parse("http://google.com"), "/query") |> to_string()
"http://google.com/query"
URL文字列への変換
iex> uri = URI.parse("http://google.com")
iex> URI.to_string(uri)
"http://google.com"
こんな具合に、自分で文字列展開するよりもスッキリと記述できます。
構造体へ変換することにより関数パターンマッチで分岐させることもできるため、「portが443の場合とそれ以外で処理を分岐させる」なども簡単です。
URLをいじるタイミングがきたらぜひ思い出してください 💡
Discussion