TimeZoneInfo v0.5.0 TimeZoneInfo.Downloader behaviour View Source

The behaviour for downloaders.

Link to this section Summary

Types

HTTP headers.

The mode to download the data.

HTTP status code

Link to this section Types

Specs

download() :: {:ok, mode(), {status_code(), binary()}}

Specs

headers() :: [{header_name :: String.t(), header_value :: String.t()}]

HTTP headers.

Specs

mode() :: :iana | :etf | :ws

The mode to download the data.

Possible modes:

  • :iana downloads the data as a zipped tar archive in IANA format.
  • :etf downloads the data as a compressed file in the TimeZoneInfo External Term Format.
  • :ws downloads the data from a web service. In this mode, the configuration is sent to the server. The returned data is transformed according to the config on the server and comes in the same format as in the mode :etf.

Specs

opts() :: [headers: headers(), mode: mode()]

Specs

status_code() :: non_neg_integer()

HTTP status code

Link to this section Callbacks

Specs

download(uri :: URI.t(), opts :: opts()) :: download() | {:error, term()}