Skip to content

Commit

Permalink
Raise only on GRPC errors
Browse files Browse the repository at this point in the history
  • Loading branch information
carrascoacd committed Oct 7, 2024
1 parent 169dc78 commit 5986650
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
2 changes: 0 additions & 2 deletions .tool-versions

This file was deleted.

2 changes: 1 addition & 1 deletion lib/grpc/client/interceptors/logger.ex
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ defmodule GRPC.Client.Interceptors.Logger do
log_result(result, level, grpc_type, stream, start, stop)
result
rescue
error ->
error in GRPC.RPCError ->
log_error(error, stream)

raise error
Expand Down
13 changes: 13 additions & 0 deletions test/grpc/client/interceptors/logger_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,17 @@ defmodule GRPC.Client.Interceptors.LoggerTest do
~r/\[error\]\s+Call #{@service_name}\.#{to_string(elem(@rpc, 0))} -> %GRPC.RPCError{status: 3, message: "Client specified an invalid argument"}/
end)
end

test "does not log when error is not a GRPC.RPCError" do
Logger.configure(level: :all)

request = %FakeRequest{}
stream = %Stream{grpc_type: :unary, rpc: @rpc, service_name: @service_name}
next = fn _stream, _request -> raise "oops" end
opts = LoggerInterceptor.init(level: :info)

assert_raise(RuntimeError, fn ->
LoggerInterceptor.call(stream, request, next, opts)
end)
end
end

0 comments on commit 5986650

Please sign in to comment.