module ProtoPharm::MetadataSerializers::Gruf

Public Class Methods

serialize(code:, app_code: nil, **metadata) click to toggle source
# File lib/proto_pharm/metadata_serializers/gruf.rb, line 24
def serialize(code:, app_code: nil, **metadata)
  {
    **metadata.fetch(:metadata, {}),
  }.tap do |hash|
    if ::Gruf.append_server_errors_to_trailing_metadata
      e = ::Gruf::Error.new(code: code, app_code: app_code, **metadata)
      hash[::Gruf.error_metadata_key.to_sym] = e.serialize
    end
  end
end