tesla v0.9.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 t() View Source
t() :: %Tesla.Multipart{boundary: String.t, content_type_params: [String.t], parts: [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.