31 lines
605 B
Go
31 lines
605 B
Go
package handoff
|
|
|
|
import (
|
|
"regexp"
|
|
"strings"
|
|
)
|
|
|
|
var phoneLike = regexp.MustCompile(`\+?\d[\d\s().-]{5,}\d`)
|
|
|
|
func SanitizeText(value string, maxRunes int) string {
|
|
v := strings.TrimSpace(value)
|
|
v = phoneLike.ReplaceAllString(v, "***MASKED_PHONE***")
|
|
v = strings.Join(strings.Fields(v), " ")
|
|
if maxRunes <= 0 {
|
|
maxRunes = 500
|
|
}
|
|
r := []rune(v)
|
|
if len(r) > maxRunes {
|
|
return string(r[:maxRunes])
|
|
}
|
|
return v
|
|
}
|
|
|
|
func SanitizeEndpoint(value string) string {
|
|
if strings.Contains(value, "@") {
|
|
parts := strings.Split(value, "@")
|
|
return "***MASKED***@" + parts[len(parts)-1]
|
|
}
|
|
return value
|
|
}
|