@@ -3,7 +3,7 @@ defmodule Sentry.Transport.Sender do
33
44 use GenServer
55
6- alias Sentry . { Envelope , Event , Transport , Transaction , LoggerUtils }
6+ alias Sentry . { Envelope , Event , Transport , Transaction }
77
88 require Logger
99
@@ -61,64 +61,14 @@ defmodule Sentry.Transport.Sender do
6161
6262 @ impl GenServer
6363 def handle_cast ( { :send , client , % Transaction { } = transaction } , % __MODULE__ { } = state ) do
64- envelope = Envelope . from_transaction ( transaction )
64+ _ =
65+ transaction
66+ |> Envelope . from_transaction ( )
67+ |> Transport . encode_and_post_envelope ( client )
6568
66- envelope
67- |> Transport . encode_and_post_envelope ( client )
68- |> maybe_log_send_result ( [ transaction ] )
69-
70- # We sent an event, so we can decrease the number of queued events.
71- Transport.SenderPool . decrease_queued_events_counter ( )
69+ # We sent a transaction, so we can decrease the number of queued transactions.
70+ Transport.SenderPool . decrease_queued_transactions_counter ( )
7271
7372 { :noreply , state }
7473 end
75-
76- ## Helpers
77-
78- defp maybe_log_send_result ( send_result , events ) do
79- if Enum . any? ( events , fn item ->
80- case item do
81- % Event { } -> item . source == :logger
82- _ -> false
83- end
84- end ) do
85- :ok
86- else
87- message =
88- case send_result do
89- { :error , { :invalid_json , error } } ->
90- "Unable to encode JSON Sentry error - #{ inspect ( error ) } "
91-
92- { :error , { :request_failure , last_error } } ->
93- case last_error do
94- { kind , data , stacktrace }
95- when kind in [ :exit , :throw , :error ] and is_list ( stacktrace ) ->
96- Exception . format ( kind , data , stacktrace )
97-
98- _other ->
99- "Error in HTTP Request to Sentry - #{ inspect ( last_error ) } "
100- end
101-
102- { :error , http_reponse } ->
103- { status , headers , _body } = http_reponse
104-
105- error_header =
106- :proplists . get_value ( "X-Sentry-Error" , headers , nil ) ||
107- :proplists . get_value ( "x-sentry-error" , headers , nil ) || ""
108-
109- if error_header != "" do
110- "Received #{ status } from Sentry server: #{ error_header } "
111- else
112- "Received #{ status } from Sentry server"
113- end
114-
115- result ->
116- result
117- end
118-
119- if message do
120- LoggerUtils . log ( fn -> [ "Failed to send Sentry event. " , message ] end )
121- end
122- end
123- end
12474end
0 commit comments