summaryrefslogtreecommitdiff
path: root/vendor/hex/src/error.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-15 16:37:08 -0600
committermo khan <mo@mokhan.ca>2025-07-17 16:30:22 -0600
commit45df4d0d9b577fecee798d672695fe24ff57fb1b (patch)
tree1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/hex/src/error.rs
parentf94f79608393d4ab127db63cc41668445ef6b243 (diff)
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based authorization system with SpiceDB's relation-based authorization. Key changes: - Migrate from Rust to Go implementation - Replace Cedar policies with SpiceDB schema and relationships - Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks - Update build system and dependencies for Go ecosystem - Maintain Envoy integration for external authorization This change enables more flexible permission modeling through SpiceDB's Google Zanzibar inspired relation-based system, supporting complex hierarchical permissions that were difficult to express in Cedar. Breaking change: Existing Cedar policies and Rust-based configuration will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/hex/src/error.rs')
-rw-r--r--vendor/hex/src/error.rs59
1 files changed, 0 insertions, 59 deletions
diff --git a/vendor/hex/src/error.rs b/vendor/hex/src/error.rs
deleted file mode 100644
index ff7a3b5c..00000000
--- a/vendor/hex/src/error.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-use core::fmt;
-
-/// The error type for decoding a hex string into `Vec<u8>` or `[u8; N]`.
-#[derive(Debug, Clone, Copy, PartialEq)]
-pub enum FromHexError {
- /// An invalid character was found. Valid ones are: `0...9`, `a...f`
- /// or `A...F`.
- InvalidHexCharacter { c: char, index: usize },
-
- /// A hex string's length needs to be even, as two digits correspond to
- /// one byte.
- OddLength,
-
- /// If the hex string is decoded into a fixed sized container, such as an
- /// array, the hex string's length * 2 has to match the container's
- /// length.
- InvalidStringLength,
-}
-
-#[cfg(feature = "std")]
-impl std::error::Error for FromHexError {}
-
-impl fmt::Display for FromHexError {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match *self {
- FromHexError::InvalidHexCharacter { c, index } => {
- write!(f, "Invalid character {:?} at position {}", c, index)
- }
- FromHexError::OddLength => write!(f, "Odd number of digits"),
- FromHexError::InvalidStringLength => write!(f, "Invalid string length"),
- }
- }
-}
-
-#[cfg(test)]
-// this feature flag is here to suppress unused
-// warnings of `super::*` and `pretty_assertions::assert_eq`
-#[cfg(feature = "alloc")]
-mod tests {
- use super::*;
- #[cfg(feature = "alloc")]
- use alloc::string::ToString;
- use pretty_assertions::assert_eq;
-
- #[test]
- #[cfg(feature = "alloc")]
- fn test_display() {
- assert_eq!(
- FromHexError::InvalidHexCharacter { c: '\n', index: 5 }.to_string(),
- "Invalid character '\\n' at position 5"
- );
-
- assert_eq!(FromHexError::OddLength.to_string(), "Odd number of digits");
- assert_eq!(
- FromHexError::InvalidStringLength.to_string(),
- "Invalid string length"
- );
- }
-}