Packages
tesla
1.18.1
1.20.0
1.18.3
1.18.2
1.18.1
1.18.0
1.17.0
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.3
1.12.2
1.12.1
1.12.0
1.11.2
1.11.1
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.1
retired
1.8.0
1.7.0
1.6.1
1.6.0
1.5.1
1.5.0
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.0
1.0.0
1.0.0-beta.1
0.10.0
0.9.0
0.8.0
0.7.2
0.7.1
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.2.2
0.2.1
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
HTTP client library, with support for middleware and multiple adapters.
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Tesla.Mixfile do
use Mix.Project
@source_url "https://github.com/elixir-tesla/tesla"
@version "1.18.1"
def project do
[
app: :tesla,
version: @version,
description: description(),
package: package(),
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
lockfile: lockfile(System.get_env("LOCKFILE")),
test_coverage: [tool: ExCoveralls],
dialyzer: [
plt_core_path: "_build/#{Mix.env()}",
plt_add_apps: [:mix, :inets, :idna, :ssl_verify_fun, :ex_unit],
plt_add_deps: :apps_direct
],
docs: docs(),
preferred_cli_env: [coveralls: :test, "coveralls.html": :test]
]
end
def application do
[extra_applications: [:logger, :ssl, :inets]]
end
defp description do
"HTTP client library, with support for middleware and multiple adapters."
end
defp package do
[
maintainers: ["Tymon Tobolski"],
licenses: ["MIT"],
links: %{
"GitHub" => @source_url,
"Changelog" => "#{@source_url}/blob/master/CHANGELOG.md"
}
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp lockfile(nil), do: "mix.lock"
defp lockfile(lockfile), do: "test/lockfiles/#{lockfile}.lock"
defp deps do
[
{:mime, "~> 1.0 or ~> 2.0"},
# http clients
{:ibrowse, "4.4.2", optional: true},
{:hackney, "~> 1.21", optional: true},
{:gun, ">= 1.0.0", optional: true},
{:finch, "~> 0.13", optional: true},
{:castore, "~> 0.1 or ~> 1.0", optional: true},
{:mint, "~> 1.0", optional: true},
# json parsers
{:jason, ">= 1.0.0", optional: true},
{:poison, ">= 1.0.0", optional: true},
{:exjsx, ">= 3.0.0", optional: true},
# messagepack parsers
{:msgpax, "~> 2.3", optional: true},
# other
{:fuse, "~> 2.4", optional: true},
{:telemetry, "~> 0.4 or ~> 1.0", optional: true},
{:mox, "~> 1.0", optional: true},
{:opentelemetry_semantic_conventions, "~> 1.27", optional: true},
{:opentelemetry_api, "~> 1.5", override: true, only: [:dev, :test]},
# devtools
{:opentelemetry_process_propagator, ">= 0.0.0", only: [:test, :dev]},
{:excoveralls, ">= 0.0.0", only: :test, runtime: false},
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
{:mix_test_watch, ">= 0.0.0", only: :dev},
{:dialyxir, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:inch_ex, ">= 0.0.0", only: :docs},
{:benchee, "~> 1.4", only: :dev, runtime: false},
# httparrot dependencies
{:httparrot, "~> 1.4", only: :test},
{:cowlib, "~> 2.9", only: [:dev, :test], override: true},
{:ranch, "~> 2.1", only: :test, override: true}
]
end
defp docs do
[
main: "readme",
source_url: @source_url,
source_ref: "v#{@version}",
skip_undefined_reference_warnings_on: [
"CHANGELOG.md",
"guides/howtos/migrations/v1-macro-migration.md"
],
extra_section: "GUIDES",
logo: "guides/elixir-tesla-logo.png",
extras:
[
"README.md",
LICENSE: [title: "License"]
# TODO: add CHANGELOG.md
# "CHANGELOG.md": [title: "Changelog"]
] ++ Path.wildcard("guides/**/*.{cheatmd,md}"),
groups_for_extras: [
Explanations: ~r"/explanations/",
Cheatsheets: ~r"/cheatsheets/",
"How-To's": ~r"/howtos/"
],
groups_for_modules: [
Behaviours: [
Tesla.Adapter,
Tesla.Middleware
],
OpenAPI: [
Tesla.OpenAPI,
Tesla.OpenAPI.CookieParam,
Tesla.OpenAPI.CookieParams,
Tesla.OpenAPI.HeaderParam,
Tesla.OpenAPI.HeaderParams,
Tesla.OpenAPI.PathParam,
Tesla.OpenAPI.PathParams,
Tesla.OpenAPI.PathTemplate,
Tesla.OpenAPI.QueryParam,
Tesla.OpenAPI.QueryParams,
Tesla.OpenAPI.QueryString,
Tesla.OpenAPI.QueryStringError,
Tesla.OpenAPI.Response
],
Adapters: [~r/Tesla.Adapter./],
Middlewares: [~r/Tesla.Middleware./],
TestSupport: [~r/Tesla.TestSupport./]
],
nest_modules_by_prefix: [
Tesla.Adapter,
Tesla.Middleware
]
]
end
end