Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9acfbcc2a0 | ||
|
|
b285b07986 | ||
|
|
c40e00526b | ||
|
|
8a33f3ef69 |
@@ -95,14 +95,13 @@ func promptForCookie(promptFn func(string) (string, error)) (string, error) {
|
||||
// getAuthFilePath returns the auth file path for the given provider and email
|
||||
func getAuthFilePath(cfg *config.Config, provider, email string) string {
|
||||
// Clean email to make it filename-safe
|
||||
cleanEmail := strings.ReplaceAll(email, "@", "_at_")
|
||||
cleanEmail = strings.ReplaceAll(cleanEmail, ".", "_")
|
||||
cleanEmail = strings.ReplaceAll(cleanEmail, "-", "_")
|
||||
cleanEmail := strings.ReplaceAll(email, "*", "x")
|
||||
|
||||
// Remove any remaining special characters
|
||||
// Remove any unsafe characters, but allow standard email chars (@, ., -)
|
||||
var result strings.Builder
|
||||
for _, r := range cleanEmail {
|
||||
if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') || (r >= '0' && r <= '9') || r == '_' {
|
||||
if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') || (r >= '0' && r <= '9') ||
|
||||
r == '_' || r == '@' || r == '.' || r == '-' {
|
||||
result.WriteRune(r)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,7 +323,14 @@ func formatAuthInfo(info upstreamRequestLog) string {
|
||||
}
|
||||
|
||||
func summarizeErrorBody(contentType string, body []byte) string {
|
||||
if strings.Contains(strings.ToLower(contentType), "text/html") {
|
||||
isHTML := strings.Contains(strings.ToLower(contentType), "text/html")
|
||||
if !isHTML {
|
||||
trimmed := bytes.TrimSpace(bytes.ToLower(body))
|
||||
if bytes.HasPrefix(trimmed, []byte("<!doctype html")) || bytes.HasPrefix(trimmed, []byte("<html")) {
|
||||
isHTML = true
|
||||
}
|
||||
}
|
||||
if isHTML {
|
||||
if title := extractHTMLTitle(body); title != "" {
|
||||
return title
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user