5
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2024-12-11 12:25:49 +00:00
matterbridge/vendor/github.com/shazow/ssh-chat/internal/sanitize/sanitize.go

30 lines
649 B
Go
Raw Normal View History

package sanitize
import "regexp"
var (
reStripName = regexp.MustCompile("[^\\w.-]")
reStripData = regexp.MustCompile("[^[:ascii:]]|[[:cntrl:]]")
)
const maxLength = 16
// Name returns a name with only allowed characters and a reasonable length
func Name(s string) string {
s = reStripName.ReplaceAllString(s, "")
nameLength := maxLength
if len(s) <= maxLength {
nameLength = len(s)
}
s = s[:nameLength]
return s
}
// Data returns a string with only allowed characters for client-provided metadata inputs.
func Data(s string, maxlen int) string {
if len(s) > maxlen {
s = s[:maxlen]
}
return reStripData.ReplaceAllString(s, "")
}