defmodule EasyPost.Config do
@type t ::
%__MODULE__{
api_key: String.t(),
host: String.t(),
http_client: module,
http_client_opts: any,
json_codec: module,
path: String.t(),
port: pos_integer,
protocol: String.t(),
retry: boolean,
retry_opts: Keyword.t()
}
defstruct api_key: nil,
host: "api.easypost.com",
http_client: EasyPost.HTTP.Hackney,
http_client_opts: [],
json_codec: Jason,
path: "/v2",
port: nil,
protocol: "https",
retry: false,
retry_opts: []
@spec new(map) :: t
def new(config \\ %{}) do
struct(%__MODULE__{}, config)
end
end