+
+ defp process_sni_options(options, nil), do: options
+
+ defp process_sni_options(options, url) do
+ uri = URI.parse(url)
+ host = uri.host |> to_charlist()
+
+ case uri.scheme do
+ "https" -> options ++ [ssl: [server_name_indication: host]]
+ _ -> options
+ end
+ end
+
+ def process_request_options(options) do
+ Keyword.merge(Pleroma.HTTP.Connection.hackney_options([]), options)
+ end
+
+ @doc """
+ Performs GET request.
+
+ See `Pleroma.HTTP.request/5`
+ """
+ def get(url, headers \\ [], options \\ []),
+ do: request(:get, url, "", headers, options)
+
+ @doc """
+ Performs POST request.
+
+ See `Pleroma.HTTP.request/5`
+ """
+ def post(url, body, headers \\ [], options \\ []),
+ do: request(:post, url, body, headers, options)