// ⚡️ Fiber is an Express inspired web framework written in Go with ☕️ // 🤖 Github Repository: https://github.com/gofiber/fiber // 📌 API Documentation: https://docs.gofiber.io package utils // ToLowerBytes is the equivalent of bytes.ToLower func ToLowerBytes(b []byte) []byte { for i := 0; i < len(b); i++ { b[i] = toLowerTable[b[i]] } return b } // ToUpperBytes is the equivalent of bytes.ToUpper func ToUpperBytes(b []byte) []byte { for i := 0; i < len(b); i++ { b[i] = toUpperTable[b[i]] } return b } // TrimRightBytes is the equivalent of bytes.TrimRight func TrimRightBytes(b []byte, cutset byte) []byte { lenStr := len(b) for lenStr > 0 && b[lenStr-1] == cutset { lenStr-- } return b[:lenStr] } // TrimLeftBytes is the equivalent of bytes.TrimLeft func TrimLeftBytes(b []byte, cutset byte) []byte { lenStr, start := len(b), 0 for start < lenStr && b[start] == cutset { start++ } return b[start:] } // TrimBytes is the equivalent of bytes.Trim func TrimBytes(b []byte, cutset byte) []byte { i, j := 0, len(b)-1 for ; i < j; i++ { if b[i] != cutset { break } } for ; i < j; j-- { if b[j] != cutset { break } } return b[i : j+1] } // EqualFold the equivalent of bytes.EqualFold func EqualsFold(b, s []byte) (equals bool) { n := len(b) equals = n == len(s) if equals { for i := 0; i < n; i++ { if equals = b[i]|0x20 == s[i]|0x20; !equals { break } } } return } // DefaultBytes returns the provided fallback value if []byte is empty func DefaultBytes(value []byte, defaultValue []byte) []byte { if len(value) <= 0 { return defaultValue } return value }