Tesla.Adapter.Mint (tesla v1.4.0) View Source
Adapter for mint.
Caution: The minimum supported Elixir version for mint is 1.5.0
Remember to add {:mint, "~> 1.0"} and {:castore, "~> 0.1"} to dependencies.
Also, you need to recompile tesla after adding :mint dependency:
mix deps.clean tesla
mix deps.compile teslaExample usage
# set globally in config/config.exs
config :tesla, :adapter, Tesla.Adapter.Mint
# set per module
defmodule MyClient do
  use Tesla
  adapter Tesla.Adapter.Mint
end
# set global custom cacertfile
config :tesla, Tesla.Adapter.Mint, cacert: ["path_to_cacert"]Adapter specific options:
- :timeout- Time in milliseconds, while process, will wait for mint messages. Defaults to- 2_000.
- :body_as- What will be returned in- %Tesla.Env{}body key. Possible values -- :plain,- :stream,- :chunks. Defaults to- :plain.- :plain- as binary.
- :stream- as stream. If you don't want to close connection (because you want to reuse it later) pass- close_conn: falsein adapter opts.
- :chunks- as chunks. You can get response body in chunks using- Tesla.Adapter.Mint.read_chunk/3function. Processing of the chunks and checking body size must be done by yourself. Example of processing function is in- test/tesla/adapter/mint_test.exs-- Tesla.Adapter.MintTest.read_body/4. If you don't need connection later don't forget to close it with- Tesla.Adapter.Mint.close/1.
 
- :max_body- Max response body size in bytes. Works only with- body_as: :plain, with other settings you need to check response body size by yourself.
- :conn- Opened connection with mint. Is used for reusing mint connections.
- :original- Original host with port, for which reused connection was open. Needed for- Tesla.Middleware.FollowRedirects. Otherwise adapter will use connection for another open host.
- :close_conn- Close connection or not after receiving full response body. Is used for reusing mint connections. Defaults to- true.
- :proxy- Proxy settings. E.g.:- {:http, "localhost", 8888, []},- {:http, "127.0.0.1", 8888, []}
Link to this section Summary
Functions
Closes mint connection.
Reads chunk of the response body.
Returns {:fin, HTTP.t(), binary()} if all body received, otherwise returns {:nofin, HTTP.t(), binary()}.
Link to this section Functions
Specs
close(Mint.HTTP.t()) :: {:ok, Mint.HTTP.t()}
Closes mint connection.
Specs
read_chunk(Mint.HTTP.t(), reference(), keyword()) :: {:fin, Mint.HTTP.t(), binary()} | {:nofin, Mint.HTTP.t(), binary()}
Reads chunk of the response body.
Returns {:fin, HTTP.t(), binary()} if all body received, otherwise returns {:nofin, HTTP.t(), binary()}.