Files
postmoogle/vendor/github.com/jhillyerd/enmime/internal/coding/idheader.go
2022-11-16 12:08:51 +02:00

27 lines
608 B
Go

package coding
import (
"net/url"
"strings"
)
// FromIDHeader decodes a Content-ID or Message-ID header value (RFC 2392) into a utf-8 string.
// Example: "<foo%3fbar+baz>" becomes "foo?bar baz".
func FromIDHeader(v string) string {
if v == "" {
return v
}
v = strings.TrimLeft(v, "<")
v = strings.TrimRight(v, ">")
if r, err := url.QueryUnescape(v); err == nil {
v = r
}
return v
}
// ToIDHeader encodes a Content-ID or Message-ID header value (RFC 2392) from a utf-8 string.
func ToIDHeader(v string) string {
v = url.QueryEscape(v)
return "<" + strings.Replace(v, "%40", "@", -1) + ">"
}