Files
Stevan Freeborn cf79c8a626 refactor: extract API handlers into internal packages
Move HTTP handler logic out of main into internal api and server packages,
slimming main to a thin entrypoint. Bundles bug fixes: login nil-panic,
empty-password validation, chirp sort ordering, duplicate-email 409, and
restricting the file server to the assets directory.
2026-08-15 22:07:00 -05:00

23 lines
455 B
Go

package server
import (
"slices"
"strings"
)
var profaneWords = []string{"kerfuffle", "sharbert", "fornax"}
// cleanProfanity replaces profane words with asterisks, case-insensitively,
// matching on whole words only.
func cleanProfanity(body string) string {
words := strings.Split(body, " ")
for i, word := range words {
if slices.Contains(profaneWords, strings.ToLower(word)) {
words[i] = "****"
}
}
return strings.Join(words, " ")
}