@@ -41,18 +41,14 @@ defmodule Segment.Http do
4141 use Retry
4242
4343 @ segment_api_url "https://api.segment.io/v1/"
44- @ send_to_http Application . get_env ( :segment , :send_to_http , true )
45- @ retry_attempts Application . get_env ( :segment , :retry_attempts , 3 )
46- @ retry_expiry Application . get_env ( :segment , :retry_expiry , 10_000 )
47- @ retry_start Application . get_env ( :segment , :retry_start , 100 )
4844
4945 @ doc """
5046 Create a Tesla client with the Segment Source Write API Key
5147 """
5248 @ spec client ( String . t ( ) ) :: client ( )
5349 def client ( api_key ) do
5450 adapter =
55- case @ send_to_http do
51+ case Segment.Config . send_to_http ( ) do
5652 true ->
5753 Application . get_env ( :segment , :tesla ) [ :adapter ] ||
5854 { Tesla.Adapter.Hackney , [ recv_timeout: 30_000 ] }
@@ -89,7 +85,7 @@ defmodule Segment.Http do
8985 """
9086 @ spec send ( String . t ( ) , Segment . segment_event ( ) ) :: :ok | :error
9187 def send ( client , event ) do
92- case make_request ( client , event . type , prepare_events ( event ) , @ retry_attempts ) do
88+ case make_request ( client , event . type , prepare_events ( event ) , Segment.Config . retry_attempts ( ) ) do
9389 { :ok , % { status: status } } when status == 200 ->
9490 :ok
9591
@@ -98,7 +94,10 @@ defmodule Segment.Http do
9894 :error
9995
10096 { :error , err } ->
101- Logger . error ( "[Segment] Call Failed after #{ @ retry_attempts } retries. #{ inspect ( err ) } " )
97+ Logger . error (
98+ "[Segment] Call Failed after #{ Segment.Config . retry_attempts ( ) } retries. #{ inspect ( err ) } "
99+ )
100+
102101 :error
103102
104103 err ->
@@ -120,7 +119,7 @@ defmodule Segment.Http do
120119 |> add_if ( :context , context )
121120 |> add_if ( :integrations , integrations )
122121
123- case make_request ( client , "batch" , data , @ retry_attempts ) do
122+ case make_request ( client , "batch" , data , Segment.Config . retry_attempts ( ) ) do
124123 { :ok , % { status: status } } when status == 200 ->
125124 :ok
126125
@@ -133,9 +132,9 @@ defmodule Segment.Http do
133132
134133 { :error , err } ->
135134 Logger . error (
136- "[Segment] Batch call of #{ length ( events ) } events failed after #{ @ retry_attempts } retries. #{
137- inspect ( err )
138- } "
135+ "[Segment] Batch call of #{ length ( events ) } events failed after #{
136+ Segment.Config . retry_attempts ( )
137+ } retries. #{ inspect ( err ) } "
139138 )
140139
141140 :error
@@ -147,7 +146,10 @@ defmodule Segment.Http do
147146 end
148147
149148 defp make_request ( client , url , data , retries ) when retries > 0 do
150- retry with: linear_backoff ( @ retry_start , 2 ) |> cap ( @ retry_expiry ) |> Stream . take ( retries ) do
149+ retry with:
150+ linear_backoff ( Segment.Config . retry_start ( ) , 2 )
151+ |> cap ( Segment.Config . retry_expiry ( ) )
152+ |> Stream . take ( retries ) do
151153 Tesla . post ( client , url , data )
152154 after
153155 result -> result
0 commit comments