diff options
Diffstat (limited to 'src/objective-c/GRPCClient/private/NSError+GRPC.m')
-rw-r--r-- | src/objective-c/GRPCClient/private/NSError+GRPC.m | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/objective-c/GRPCClient/private/NSError+GRPC.m b/src/objective-c/GRPCClient/private/NSError+GRPC.m new file mode 100644 index 0000000000..73ce112f15 --- /dev/null +++ b/src/objective-c/GRPCClient/private/NSError+GRPC.m @@ -0,0 +1,18 @@ +#import "NSError+GRPC.h" + +#include <grpc.h> + +NSString *const kGRPCErrorDomain = @"org.grpc"; + +@implementation NSError (GRPC) ++ (instancetype)grpc_errorFromStatus:(struct grpc_status *)status { + if (status->status == GRPC_STATUS_OK) { + return nil; + } + NSString *message = + [NSString stringWithFormat:@"Code=%i Message='%s'", status->status, status->details]; + return [NSError errorWithDomain:kGRPCErrorDomain + code:status->status + userInfo:@{NSLocalizedDescriptionKey: message}]; +} +@end |