Packages
indieweb
0.0.7
0.0.66
0.0.65
0.0.64
0.0.63
0.0.62
0.0.61
0.0.60
0.0.59
0.0.58
0.0.56
0.0.55
0.0.54
0.0.53
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.3
0.0.2
0.0.1
Collection of common IndieWeb utilites like authorship resolution, Webmention, post type discovery and IndieAuth.
Current section
Files
Jump to
Current section
Files
lib/indieweb/http.ex
defmodule IndieWeb.Http do
@moduledoc """
Provides a facade for handling HTTP actions.
"""
@doc "Obtains an implementation of a `IndieWeb.Http.Adapter` module."
@spec adapter() :: IndieWeb.HTTP.Adapter.t
def adapter, do: Application.get_env(:indieweb, :http_adapter, IndieWeb.Http.Adapters.HTTPotion)
@doc "Sends a HTTP request to the URI `uri` with the provided options."
@spec request(binary(), atom(), keyword()) :: {:ok, IndieWeb.Http.Response.t} | {:error, IndieWeb.Http.Error.t}
def request(uri, method \\ :get, opts \\ []) do
adapter().request(uri, method, opts)
end
for method <- ~w(get post options head put patch delete)a do
@doc """
Sends a #{String.upcase(Atom.to_string(method))} request to the specified URI.
See `request/3` for more information about making requests.
"""
def unquote(method)(uri, opts), do: IndieWeb.Http.request(uri, unquote(method), opts)
end
end