summaryrefslogtreecommitdiff
path: root/internal/storage/inmem.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/storage/inmem.go')
-rw-r--r--internal/storage/inmem.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/storage/inmem.go b/internal/storage/inmem.go
new file mode 100644
index 000000000..25432fbaa
--- /dev/null
+++ b/internal/storage/inmem.go
@@ -0,0 +1,31 @@
+package storage
+
+import (
+ "fmt"
+
+ "github.com/sirupsen/logrus"
+ "github.com/superseriousbusiness/gotosocial/internal/config"
+)
+
+func NewInMem(c *config.Config, log *logrus.Logger) (Storage, error) {
+ return &inMemStorage{
+ stored: make(map[string][]byte),
+ }, nil
+}
+
+type inMemStorage struct {
+ stored map[string][]byte
+}
+
+func (s *inMemStorage) StoreFileAt(path string, data []byte) error {
+ s.stored[path] = data
+ return nil
+}
+
+func (s *inMemStorage) RetrieveFileFrom(path string) ([]byte, error) {
+ d, ok := s.stored[path]
+ if !ok {
+ return nil, fmt.Errorf("no data found at path %s", path)
+ }
+ return d, nil
+}