package fs import ( "mime" "strings" ) func mediaType(filePath string) string { if strings.HasSuffix(filePath, ".gmi") { // This may not be present in the listings searched by mime.TypeByExtension, // so provide a dedicated fast path for it here. return "text/gemini" } slashIdx := strings.LastIndex(filePath, "/") dotIdx := strings.LastIndex(filePath[slashIdx+1:], ".") if dotIdx == -1 { return "application/octet-stream" } ext := filePath[slashIdx+1+dotIdx:] mtype := mime.TypeByExtension(ext) if mtype == "" { return "application/octet-stream" } return mtype } func isPrivate(fullpath string) bool { for _, segment := range strings.Split(fullpath, "/") { if len(segment) > 1 && segment[0] == '.' { return true } } return false }