zx24ht v1.0.0 Tesla.Multipart View Source

Multipart functionality.

Example

mp =
  Multipart.new
  |> Multipart.add_content_type_param("charset=utf-8")
  |> Multipart.add_field("field1", "foo")
  |> Multipart.add_field("field2", "bar", headers: [{"content-id", "1"}, {"content-type", "text/plain"}])
  |> Multipart.add_file("test/tesla/multipart_test_file.sh")
  |> Multipart.add_file("test/tesla/multipart_test_file.sh", name: "foobar")
  |> Multipart.add_file_content("sample file content", "sample.txt")

  response = client.post(url, mp)

Link to this section Summary

Functions

Add a parameter to the multipart content-type

Add a file part. The file will be streamed

Add a file part. Same of add_file/3 but the file content is read from data input parameter

Create a new Multipart struct to be used for a request body

Link to this section Types

Link to this type part_value() View Source
part_value() :: String.t() | part_stream()
Link to this type t() View Source
t() :: %Tesla.Multipart{
  boundary: String.t(),
  content_type_params: [String.t()],
  parts: [Tesla.Multipart.Part.t()]
}

Link to this section Functions

Link to this function add_content_type_param(mp, param) View Source
add_content_type_param(t(), String.t()) :: t()

Add a parameter to the multipart content-type.

Link to this function add_field(mp, name, value, opts \\ []) View Source
add_field(t(), String.t(), part_value(), Keyword.t()) :: t()

Add a field part.

Link to this function add_file(mp, path, opts \\ []) View Source
add_file(t(), String.t(), Keyword.t()) :: t()

Add a file part. The file will be streamed.

Options:

  • :name - name of form param
  • :filename - filename (defaults to path basename)
  • :headers - additional headers
  • :detect_content_type - auto-detect file content-type (defaults to false)
Link to this function add_file_content(mp, data, filename, opts \\ []) View Source
add_file_content(t(), part_value(), String.t(), Keyword.t()) :: t()

Add a file part. Same of add_file/3 but the file content is read from data input parameter.

Options:

  • :name - name of form param
  • :headers - additional headers

Create a new Multipart struct to be used for a request body.