Packages
upstream
1.3.0
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.0
1.8.2
1.8.1
1.7.2
1.7.1
1.7.0
1.6.14
1.6.13
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.12
1.5.11
1.5.11-dev-3
1.5.11-dev-2
1.5.11-dev-1
1.5.11-dev
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.2
1.5.1
1.5.0
1.4.12
1.4.9
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.7
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.3
1.2.1
Upstream is for integrating into projects that need to do large file uploads to B2 service. It integrates tightly with Backblaze B2 for now, with plans to support Amazon S3.
Current section
Files
Jump to
Current section
Files
lib/upstream/b2/account/authorization.ex
defmodule Upstream.B2.Account.Authorization do
@moduledoc """
Handles Authorization of B2 account.
"""
defstruct [
:account_id,
:authorization_token,
:api_url,
:download_url,
:recommended_part_size,
:absolute_minimum_part_size
]
@type t :: %__MODULE__{
account_id: String.t(),
authorization_token: String.t(),
api_url: String.t(),
download_url: String.t(),
recommended_part_size: integer,
absolute_minimum_part_size: integer
}
@doc """
Authorize#call function will make a call to the api and authorize based on the
account_id, and application_key passed in from the config.
config :upstream, Upstream,
account_id: <whatever account_id>,
application_key: <whatever application_key>
"""
use Upstream.B2.Base
def url(_), do: Url.generate(:authorize_account)
def header do
encoded =
"Basic " <>
Base.encode64(Upstream.config(:account_id) <> ":" <> Upstream.config(:application_key))
[{"Authorization", encoded}]
end
end