2020-08-30 23:29:56 +02:00
|
|
|
defmodule Mobilizon.Service.HTTP.GeospatialClient do
|
2020-07-09 17:24:28 +02:00
|
|
|
@moduledoc """
|
|
|
|
Tesla HTTP Basic Client
|
2020-08-30 23:29:56 +02:00
|
|
|
with JSON middleware
|
2020-07-09 17:24:28 +02:00
|
|
|
"""
|
|
|
|
|
|
|
|
use Tesla
|
|
|
|
alias Mobilizon.Config
|
2024-02-09 12:13:22 +01:00
|
|
|
import Mobilizon.Service.HTTP.Utils, only: [get_tls_config: 0]
|
2020-07-09 17:24:28 +02:00
|
|
|
|
|
|
|
@default_opts [
|
|
|
|
recv_timeout: 20_000
|
|
|
|
]
|
|
|
|
|
2024-02-09 12:13:22 +01:00
|
|
|
adapter(Tesla.Adapter.Hackney, Keyword.merge([ssl_options: get_tls_config()], @default_opts))
|
2020-07-09 17:24:28 +02:00
|
|
|
|
|
|
|
plug(Tesla.Middleware.FollowRedirects)
|
|
|
|
|
|
|
|
plug(Tesla.Middleware.Timeout, timeout: 10_000)
|
|
|
|
|
2021-04-09 10:43:45 +02:00
|
|
|
plug(Tesla.Middleware.Headers, [{"User-Agent", Config.instance_user_agent()}])
|
2020-08-30 23:29:56 +02:00
|
|
|
|
|
|
|
plug(Tesla.Middleware.JSON)
|
2020-07-09 17:24:28 +02:00
|
|
|
end
|