helpers/shorten_token.go (21 lines of code) (raw):

package helpers import ( "strings" ) func ShortenToken(token string) string { switch { case len(token) < 8: return token case token[:5] == "glrt-": // Token is prefixed with CREATED_RUNNER_TOKEN_PREFIX: glrt- (for Gitlab Runner Token). // Let's add some more characters in order to compensate. return token[5:14] case token[:6] == "glcbt-": return token[6:15] case token[:2] == "GR" && len(token) >= 17 && strings.IndexFunc(token[2:9], isInvalidPrefixRune) == -1: // Token is prefixed with RUNNERS_TOKEN_PREFIX: GR (for Gitlab Runner) combined with the rotation // date decimal-to-hex-encoded. Let's add some more characters in order to compensate. return token[:17] default: return token[:8] } } func isInvalidPrefixRune(r rune) bool { return (r < '0' || r > '9') && (r < 'A' || r > 'F') && (r < 'a' || r > 'f') }