mirror of
1
Fork 0

[chore] also allow text/xml in place of application/xml (#2640)

This commit is contained in:
kim 2024-02-14 12:07:58 +00:00 committed by GitHub
parent 2bafd7daf5
commit 8b8211986e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 1 deletions

View File

@ -23,6 +23,7 @@ const (
// Possible GoToSocial mimetypes. // Possible GoToSocial mimetypes.
AppJSON = `application/json` AppJSON = `application/json`
AppXML = `application/xml` AppXML = `application/xml`
appXMLText = `text/xml` // AppXML is only *recommended* in RFC7303
AppXMLXRD = `application/xrd+xml` AppXMLXRD = `application/xrd+xml`
AppRSSXML = `application/rss+xml` AppRSSXML = `application/rss+xml`
AppActivityJSON = `application/activity+json` AppActivityJSON = `application/activity+json`
@ -58,7 +59,8 @@ func XMLContentType(ct string) bool {
p := splitContentType(ct) p := splitContentType(ct)
p, ok := isUTF8ContentType(p) p, ok := isUTF8ContentType(p)
return ok && len(p) == 1 && return ok && len(p) == 1 &&
p[0] == AppXML p[0] == AppXML ||
p[0] == appXMLText
} }
// XMLXRDContentType returns whether is application/(xrd+)?xml(;charset=utf-8)? content-type. // XMLXRDContentType returns whether is application/(xrd+)?xml(;charset=utf-8)? content-type.
@ -67,6 +69,7 @@ func XMLXRDContentType(ct string) bool {
p, ok := isUTF8ContentType(p) p, ok := isUTF8ContentType(p)
return ok && len(p) == 1 && return ok && len(p) == 1 &&
p[0] == AppXML || p[0] == AppXML ||
p[0] == appXMLText ||
p[0] == AppXMLXRD p[0] == AppXMLXRD
} }