Packages
upstream
1.6.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/large_file.ex
defmodule Upstream.B2.LargeFile do
@moduledoc """
Public facing api for B2 LargeFile
"""
alias Upstream.B2.LargeFile.{
Start,
Cancel,
Finish,
Unfinished
}
@spec start(String.t()) :: {:ok | :error, %Start{} | struct}
@doc """
`Upstream.B2.LargeFile.start/1` Starts the uploading of the large_file on b2
"""
def start(file_name) do
Start.call(body: file_name)
end
def start(file_name, metadata) do
Start.call(body: %{file_name: file_name, file_info: metadata})
end
def finish(file_id, sha1_array) do
Finish.call(
body: [
file_id: file_id,
sha1_array: sha1_array
]
)
end
@spec cancel(String.t()) :: {:ok | :error, %Cancel{} | struct}
def cancel(file_id), do: Cancel.call(body: file_id)
def unfinished, do: Unfinished.call()
end