 
 
 defmodule Tesla.Middleware.Opts do
+  @behaviour Tesla.Middleware
+
+  @moduledoc """
+  Set default opts for all requests
+
+  ### Example usage
+  ```
+  defmodule Myclient do
+    use Tesla
+
+    plug Tesla.Middleware.Opts, [some: "option"]
+  end
+  ```
+  """
   def call(env, next, opts) do
     Tesla.run(%{env | opts: env.opts ++ opts}, next)
   end
 end
-
-
-
 
 
 defmodule Tesla.Middleware.BaseUrlFromConfig do

defmodule Tesla.Middleware.Normalize do
  def call(env, next, _opts) do
    env
    |> normalize



defmodule Tesla.Middleware.Query do
  @behaviour Tesla.Middleware

  @moduledoc """
  Set default query params for all requests

  ### Example usage
  ```
  defmodule Myclient do
    use Tesla

    plug Tesla.Middleware.Query, [token: "some-token"]
  end
  ```
  """
  def call(env, next, query) do
    env
    |> merge(query)
