mirror of
https://github.com/makeworld-the-better-one/amfora.git
synced 2024-09-11 14:55:51 +03:00
♻️ Making charset handling nicer
This commit is contained in:
parent
41075c8c41
commit
85a89846bb
@ -19,6 +19,9 @@ import (
|
||||
"gitlab.com/tslocum/cview"
|
||||
)
|
||||
|
||||
// Charset values that are compatible with UTF-8, lowercased.
|
||||
var utfCharsets = []string{"", "utf-8", "us-ascii"}
|
||||
|
||||
// CanDisplay returns true if the response is supported by Amfora
|
||||
// for displaying on the screen.
|
||||
// It also doubles as a function to detect whether something can be stored in a Page struct.
|
||||
@ -31,15 +34,16 @@ func CanDisplay(res *gemini.Response) bool {
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
if strings.ToLower(params["charset"]) != "utf-8" && strings.ToLower(params["charset"]) != "us-ascii" && params["charset"] != "" {
|
||||
// Amfora doesn't support other charsets
|
||||
return false
|
||||
}
|
||||
if mediatype != "text/gemini" && mediatype != "text/plain" {
|
||||
// Amfora doesn't support other filetypes
|
||||
return false
|
||||
}
|
||||
return true
|
||||
for _, charset := range utfCharsets {
|
||||
if strings.ToLower(params["charset"]) == charset {
|
||||
return true // Supported
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// convertRegularGemini converts non-preformatted blocks of text/gemini
|
||||
|
Loading…
Reference in New Issue
Block a user