aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/item.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-02 21:40:02 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-02 21:40:02 +0200
commit1525392a23c86214bf7ad1b5b7d8983f7b30837a (patch)
tree1515a12a24f682131672acfe3be6c0d17ba9c19b /internal/feed/item.go
parent6bd8a6c2cd153bad9ca044b409e55302e10206c1 (diff)
downloadfeed2imap-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 '')
-rw-r--r--internal/feed/item.go11
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())
}