Packages

Simple Elixir SDK for the Splitwise API

Current section

Files

Jump to
ex_splitwise lib splitwise oauth2 behaviour.ex
Raw

lib/splitwise/oauth2/behaviour.ex

defmodule ExSplitwise.OAuth2.Behaviour do
@moduledoc false
@type authorize_url :: binary
@type body :: any
@type client_id :: binary
@type client_secret :: binary
@type headers :: [{binary, binary}]
@type param :: binary | %{binary => param} | [param]
@type params :: %{binary => param} | Keyword.t()
@type redirect_uri :: binary
@type ref :: reference | nil
@type request_opts :: Keyword.t()
@type serializers :: %{binary => module}
@type site :: binary
@type strategy :: module
@type token :: AccessToken.t() | nil
@type token_method :: :post | :get | atom
@type token_url :: binary
@typep client :: %{
authorize_url: authorize_url,
client_id: client_id,
client_secret: client_secret,
headers: headers,
params: params,
redirect_uri: redirect_uri,
ref: ref,
request_opts: request_opts,
serializers: serializers,
site: site,
strategy: strategy,
token: token,
token_method: token_method,
token_url: token_url
}
@callback authorize_url!(client) :: binary
@callback get_token!(client, list) :: client
@callback new(Keyword.t) :: client
end