@@ -43,6 +43,7 @@ defmodule Sentry.Client do
4343 @ type send_event_result ::
4444 { :ok , Task . t ( ) | String . t ( ) | pid ( ) } | :error | :unsampled | :excluded
4545 @ type dsn :: { String . t ( ) , String . t ( ) , String . t ( ) } | :error
46+ @ type result :: :sync | :none | :async
4647 @ sentry_version 5
4748 @ max_attempts 4
4849 @ hackney_pool_name :sentry_pool
@@ -79,6 +80,7 @@ defmodule Sentry.Client do
7980 end
8081 end
8182
83+ @ spec encode_and_send ( Event . t ( ) , result ( ) ) :: send_event_result ( )
8284 defp encode_and_send ( event , result ) do
8385 json_library = Config . json_library ( )
8486
@@ -94,6 +96,7 @@ defmodule Sentry.Client do
9496 end
9597 end
9698
99+ @ spec do_send_event ( Event . t ( ) , map ( ) , :async ) :: { :ok , Task . t ( ) } | :error
97100 defp do_send_event ( event , body , :async ) do
98101 case get_headers_and_endpoint ( ) do
99102 { endpoint , auth_headers } ->
@@ -108,6 +111,7 @@ defmodule Sentry.Client do
108111 end
109112 end
110113
114+ @ spec do_send_event ( Event . t ( ) , map ( ) , :sync ) :: { :ok , String . t ( ) } | :error
111115 defp do_send_event ( event , body , :sync ) do
112116 case get_headers_and_endpoint ( ) do
113117 { endpoint , auth_headers } ->
@@ -119,6 +123,8 @@ defmodule Sentry.Client do
119123 end
120124 end
121125
126+ @ spec do_send_event ( Event . t ( ) , map ( ) , :none ) ::
127+ { :ok , DynamicSupervisor . on_start_child ( ) } | :error
122128 defp do_send_event ( event , body , :none ) do
123129 case get_headers_and_endpoint ( ) do
124130 { endpoint , auth_headers } ->
@@ -134,6 +140,12 @@ defmodule Sentry.Client do
134140 end
135141 end
136142
143+ @ spec try_request (
144+ String . t ( ) ,
145+ list ( { String . t ( ) , String . t ( ) } ) ,
146+ { Event . t ( ) , String . t ( ) } ,
147+ pos_integer ( )
148+ ) :: { :ok , String . t ( ) } | :error
137149 defp try_request ( url , headers , event_body_tuple , current_attempt \\ 1 )
138150
139151 defp try_request ( _ , _ , _ , current_attempt )
@@ -212,6 +224,7 @@ defmodule Sentry.Client do
212224 "Sentry " <> query
213225 end
214226
227+ @ spec authorization_headers ( String . t ( ) , String . t ( ) ) :: list ( { String . t ( ) , String . t ( ) } )
215228 defp authorization_headers ( public_key , secret_key ) do
216229 [
217230 { "User-Agent" , @ sentry_client } ,
@@ -351,11 +364,13 @@ defmodule Sentry.Client do
351364 )
352365 end
353366
367+ @ spec sleep ( pos_integer ( ) ) :: :ok
354368 defp sleep ( 1 ) , do: :timer . sleep ( 2000 )
355369 defp sleep ( 2 ) , do: :timer . sleep ( 4000 )
356370 defp sleep ( 3 ) , do: :timer . sleep ( 8000 )
357371 defp sleep ( _ ) , do: :timer . sleep ( 8000 )
358372
373+ @ spec sample_event? ( number ( ) ) :: boolean ( )
359374 defp sample_event? ( 1 ) , do: true
360375 defp sample_event? ( 1.0 ) , do: true
361376 defp sample_event? ( 0 ) , do: false
0 commit comments