Skip to content

Commit 1777b63

Browse files
committed
typespecs
1 parent e198396 commit 1777b63

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

lib/sentry/client.ex

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

lib/sentry/event.ex

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,31 @@ defmodule Sentry.Event do
3333
modules: %{},
3434
event_source: nil
3535

36-
@type t :: %__MODULE__{}
36+
@type sentry_exception :: %{type: String.t(), value: String.t(), module: any()}
37+
@type t :: %__MODULE__{
38+
event_id: String.t() | nil,
39+
culprit: String.t() | nil,
40+
timestamp: String.t() | nil,
41+
message: String.t() | nil,
42+
tags: map(),
43+
level: String.t(),
44+
platform: String.t(),
45+
server_name: any(),
46+
environment: any(),
47+
exception: [sentry_exception()],
48+
original_exception: Exception.t() | nil,
49+
release: any(),
50+
stacktrace: %{
51+
frames: [map()]
52+
},
53+
request: map(),
54+
extra: map(),
55+
user: map(),
56+
breadcrumbs: list(),
57+
fingerprint: list(),
58+
modules: map(),
59+
event_source: any()
60+
}
3761

3862
alias Sentry.{Config, Event, Util}
3963
@source_code_context_enabled Config.enable_source_code_context()

0 commit comments

Comments
 (0)