forked from Silverfish/proton-bridge
feat(GODT-3113): Do not render HTML for attachment.
This commit is contained in:
@ -197,6 +197,9 @@ func convertForeignEncodings(p *parser.Parser) error {
|
||||
|
||||
return p.NewWalker().
|
||||
RegisterContentTypeHandler("text/html", func(p *parser.Part) error {
|
||||
if p.IsAttachment() {
|
||||
return nil
|
||||
}
|
||||
if err := p.ConvertToUTF8(); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -313,24 +316,14 @@ func collectBodyParts(p *parser.Parser, preferredContentType string) (parser.Par
|
||||
return bestChoice(childParts, preferredContentType), nil
|
||||
}).
|
||||
RegisterRule("text/plain", func(p *parser.Part, visit parser.Visit) (interface{}, error) {
|
||||
disp, _, err := p.ContentDisposition()
|
||||
if err != nil {
|
||||
disp = ""
|
||||
}
|
||||
|
||||
if disp == "attachment" {
|
||||
if p.IsAttachment() {
|
||||
return parser.Parts{}, nil
|
||||
}
|
||||
|
||||
return parser.Parts{p}, nil
|
||||
}).
|
||||
RegisterRule("text/html", func(p *parser.Part, visit parser.Visit) (interface{}, error) {
|
||||
disp, _, err := p.ContentDisposition()
|
||||
if err != nil {
|
||||
disp = ""
|
||||
}
|
||||
|
||||
if disp == "attachment" {
|
||||
if p.IsAttachment() {
|
||||
return parser.Parts{}, nil
|
||||
}
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@ func (h *handler) matchPart(p *Part) bool {
|
||||
}
|
||||
|
||||
func (h *handler) matchPartSkipAttachment(p *Part) bool {
|
||||
return !p.isAttachment() && h.matchPart(p)
|
||||
return !p.IsAttachment() && h.matchPart(p)
|
||||
}
|
||||
|
||||
func (h *handler) matchType(p *Part) bool {
|
||||
|
||||
@ -209,7 +209,7 @@ func (p *Part) isMultipartMixedOrRelated() bool {
|
||||
return t == "multipart/mixed" || t == "multipart/related"
|
||||
}
|
||||
|
||||
func (p *Part) isAttachment() bool {
|
||||
func (p *Part) IsAttachment() bool {
|
||||
disp, _, err := p.ContentDisposition()
|
||||
if err != nil {
|
||||
disp = ""
|
||||
|
||||
Reference in New Issue
Block a user