From d2ad8df629a349cc151a0a4ede96f04356f73839 Mon Sep 17 00:00:00 2001 From: IvanV <50826265+IvanVTBTL@users.noreply.github.com> Date: Thu, 9 Apr 2020 19:41:54 +0200 Subject: [PATCH] feat(transport): Add AsRef impl for Certificate (#326) Co-authored-by: IvanV --- tonic/src/transport/tls.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tonic/src/transport/tls.rs b/tonic/src/transport/tls.rs index f8fb991..2ebc274 100644 --- a/tonic/src/transport/tls.rs +++ b/tonic/src/transport/tls.rs @@ -19,6 +19,27 @@ impl Certificate { let pem = pem.as_ref().into(); Self { pem } } + + /// Get a immutable reference to underlying certificate + pub fn get_ref(&self) -> &[u8] { + &self.pem.as_slice() + } + + /// Get a mutable reference to underlying certificate + pub fn get_mut(&mut self) -> &mut [u8] { + self.pem.as_mut() + } + + /// Consumes `self`, returning the underlying certificate + pub fn into_inner(self) -> Vec { + self.pem + } +} + +impl AsRef<[u8]> for Certificate { + fn as_ref(&self) -> &[u8] { + self.pem.as_ref() + } } impl Identity {