diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-02 21:40:02 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-02 21:40:02 +0200 |
commit | 1525392a23c86214bf7ad1b5b7d8983f7b30837a (patch) | |
tree | 1515a12a24f682131672acfe3be6c0d17ba9c19b /internal/feed/item.go | |
parent | 6bd8a6c2cd153bad9ca044b409e55302e10206c1 (diff) | |
download | feed2imap-go-1525392a23c86214bf7ad1b5b7d8983f7b30837a.tar.gz feed2imap-go-1525392a23c86214bf7ad1b5b7d8983f7b30837a.tar.bz2 feed2imap-go-1525392a23c86214bf7ad1b5b7d8983f7b30837a.zip |
Use uuid library directly and encode to base64.
Also add an additional header `X-Feed2Imap-Item`, b/c the messageId contains the variable part of the hostname.
Diffstat (limited to 'internal/feed/item.go')
-rw-r--r-- | internal/feed/item.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/internal/feed/item.go b/internal/feed/item.go index 5c67784..b8fb7f7 100644 --- a/internal/feed/item.go +++ b/internal/feed/item.go @@ -1,8 +1,10 @@ package feed import ( + "encoding/base64" "fmt" + "github.com/google/uuid" "github.com/mmcdole/gofeed" "github.com/Necoro/feed2imap-go/pkg/config" @@ -22,7 +24,7 @@ type item struct { updateOnly bool reasons []string images []feedImage - itemId string + itemId uuid.UUID } // Creator returns the name of the creating author. @@ -54,6 +56,11 @@ func (item *item) defaultEmail() string { return item.feed.Global.DefaultEmail } +func (item *item) id() string { + idStr := base64.RawURLEncoding.EncodeToString(item.itemId[:]) + return item.feed.cached.ID() + "#" + idStr +} + func (item *item) messageId() string { - return fmt.Sprintf("<feed#%s#%s@%s>", item.feed.cached.ID(), item.itemId, config.Hostname()) + return fmt.Sprintf("<feed#%s@%s>", item.id(), config.Hostname()) } |