View Source Tesla.Middleware.Curl (TeslaCurl v1.2.1)

A middleware for the Tesla HTTP client that logs requests expressed in Curl.

Parses Tesla.Env structs into a curl command and logs it. This is useful for debugging requests and responses.

examples

Examples

defmodule MyClient do
  use Tesla

  plug Tesla.Middleware.Curl, follow_redirects: true, redact_fields: ["api_token", "authorization"]
end

options

Options

  • :follow_redirects - boolean, will add the -L flag to the curl command
  • :redact_fields - a list of keys or regex capture groups to redact from the request body
  • :compressed - boolean, will add the --compressed flag to the curl command
  • :logger_level - the level at which to log the curl command, as an atom. Must be one of - :emergency, :alert, :critical, :error, :warning, :notice, :info, :debug

Link to this section Summary

Functions

Serves as the main entrypoint to the middleware. Handles this middleware and calls the next piece of middleware in the chain.

Link to this section Types

@type method() :: :head | :get | :delete | :trace | :options | :post | :put | :patch

Link to this section Functions

Link to this function

call(env, next, opts \\ [])

View Source
@spec call(Tesla.Env.t(), Tesla.Env.stack(), keyword() | nil) :: Tesla.Env.result()

Serves as the main entrypoint to the middleware. Handles this middleware and calls the next piece of middleware in the chain.