Current section
Files
Jump to
Current section
Files
lib/report_behaviour.ex
defmodule ExKeyCDN.ReportBehaviour do
@moduledoc """
Report Behaviour
"""
@doc """
Traffic Stats
"""
@callback traffic(ExKeyCDN.Report) ::
[
{:limits, [{:rate_limit_remaining, binary()}, {:rate_limit, binary}]},
{:stats, list(ExKeyCDN.Statistic)}
]
| {:error, binary | ExKeyCDN.ErrorResponse.t()}
@doc """
Storage Stats
"""
@callback storage(ExKeyCDN.Report) ::
[
{:limits, [{:rate_limit_remaining, binary()}, {:rate_limit, binary}]},
{:stats, list(ExKeyCDN.Statistic)}
]
| {:error, binary | ExKeyCDN.ErrorResponse.t()}
@doc """
Image Processing Stats
"""
@callback image_processing(ExKeyCDN.Report) ::
[
{:limits, [{:rate_limit_remaining, binary()}, {:rate_limit, binary}]},
{:stats, list(ExKeyCDN.Statistic)}
]
| {:error, binary | ExKeyCDN.ErrorResponse.t()}
@doc """
Status Stats
"""
@callback status(ExKeyCDN.Report) ::
[
{:limits, [{:rate_limit_remaining, binary()}, {:rate_limit, binary}]},
{:stats, list(ExKeyCDN.StatusStatistic)}
]
| {:error, binary | ExKeyCDN.ErrorResponse.t()}
@doc """
Credit Stats
"""
@callback credit(ExKeyCDN.Report) ::
[
{:limits, [{:rate_limit_remaining, binary()}, {:rate_limit, binary}]},
{:stats, list(ExKeyCDN.CreditStatistic)}
]
| {:error, binary | ExKeyCDN.ErrorResponse.t()}
@doc """
Balance Stats
"""
@callback balance() ::
[
{:limits, [{:rate_limit_remaining, binary()}, {:rate_limit, binary}]},
{:amount, binary()}
]
| {:error, binary | ExKeyCDN.ErrorResponse.t()}
end