From d544baf29244df8cc1407275a70e3397f4e29cfa Mon Sep 17 00:00:00 2001 From: Tim <0xtimc@gmail.com> Date: Tue, 1 Jul 2025 15:40:17 +0100 Subject: [PATCH 1/2] Conform RPCError to RPCErrorConvertible --- Sources/GRPCCore/RPCError.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Sources/GRPCCore/RPCError.swift b/Sources/GRPCCore/RPCError.swift index e6baf1d2..7d970e4e 100644 --- a/Sources/GRPCCore/RPCError.swift +++ b/Sources/GRPCCore/RPCError.swift @@ -342,3 +342,14 @@ extension RPCError { self.cause = convertible.rpcErrorCause } } + +@available(gRPCSwift 2.0, *) +extension RPCError: RPCErrorConvertible { + public var rpcErrorCode: Code { + self.code + } + + public var rpcErrorMessage: String { + self.message + } +} From 0a2adb9821d3fd4189b6186b519086bd1c7bcd79 Mon Sep 17 00:00:00 2001 From: Tim <0xtimc@gmail.com> Date: Tue, 1 Jul 2025 15:54:19 +0100 Subject: [PATCH 2/2] Add metadata and cause --- Sources/GRPCCore/RPCError.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Sources/GRPCCore/RPCError.swift b/Sources/GRPCCore/RPCError.swift index 7d970e4e..49625f30 100644 --- a/Sources/GRPCCore/RPCError.swift +++ b/Sources/GRPCCore/RPCError.swift @@ -343,13 +343,21 @@ extension RPCError { } } -@available(gRPCSwift 2.0, *) +@available(gRPCSwift 2.1, *) extension RPCError: RPCErrorConvertible { public var rpcErrorCode: Code { self.code } - + public var rpcErrorMessage: String { self.message } + + public var rpcErrorMetadata: Metadata { + self.metadata + } + + public var rpcErrorCause: (any Error)? { + self.cause + } }