aboutsummaryrefslogtreecommitdiffstats
path: root/swarm/api
diff options
context:
space:
mode:
authorJavier Peletier <jm@epiclabs.io>2018-09-30 15:51:11 +0800
committerJavier Peletier <jm@epiclabs.io>2018-10-03 15:12:06 +0800
commitb6ccc06cdaac80d09da17c25b2f450cd1f1b7914 (patch)
tree2413da1a2025e901eecf253399fe4bfebbdd1925 /swarm/api
parent83705ef6aa3645a6305a400fa175e44904a929f7 (diff)
downloaddexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.tar
dexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.tar.gz
dexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.tar.bz2
dexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.tar.lz
dexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.tar.xz
dexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.tar.zst
dexon-b6ccc06cdaac80d09da17c25b2f450cd1f1b7914.zip
swarm/storage/feeds: Final package rename and moved files
Diffstat (limited to 'swarm/api')
-rw-r--r--swarm/api/api.go27
-rw-r--r--swarm/api/client/client.go18
-rw-r--r--swarm/api/client/client_test.go22
-rw-r--r--swarm/api/http/server.go10
-rw-r--r--swarm/api/http/server_test.go20
-rw-r--r--swarm/api/manifest.go6
6 files changed, 52 insertions, 51 deletions
diff --git a/swarm/api/api.go b/swarm/api/api.go
index 9b4571bee..c61bd8064 100644
--- a/swarm/api/api.go
+++ b/swarm/api/api.go
@@ -45,9 +45,10 @@ import (
"github.com/ethereum/go-ethereum/swarm/multihash"
"github.com/ethereum/go-ethereum/swarm/spancontext"
"github.com/ethereum/go-ethereum/swarm/storage"
- "github.com/ethereum/go-ethereum/swarm/storage/mru"
- "github.com/ethereum/go-ethereum/swarm/storage/mru/lookup"
- "github.com/opentracing/opentracing-go"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds/lookup"
+
+ opentracing "github.com/opentracing/opentracing-go"
)
var (
@@ -235,14 +236,14 @@ on top of the FileStore
it is the public interface of the FileStore which is included in the ethereum stack
*/
type API struct {
- feeds *mru.Handler
+ feeds *feeds.Handler
fileStore *storage.FileStore
dns Resolver
Decryptor func(context.Context, string) DecryptFunc
}
// NewAPI the api constructor initialises a new API instance.
-func NewAPI(fileStore *storage.FileStore, dns Resolver, feedsHandler *mru.Handler, pk *ecdsa.PrivateKey) (self *API) {
+func NewAPI(fileStore *storage.FileStore, dns Resolver, feedsHandler *feeds.Handler, pk *ecdsa.PrivateKey) (self *API) {
self = &API{
fileStore: fileStore,
dns: dns,
@@ -408,7 +409,7 @@ func (a *API) Get(ctx context.Context, decrypt DecryptFunc, manifestAddr storage
if entry.Feed == nil {
return reader, mimeType, status, nil, fmt.Errorf("Cannot decode Feed in manifest")
}
- _, err := a.feeds.Lookup(ctx, mru.NewQueryLatest(entry.Feed, lookup.NoClue))
+ _, err := a.feeds.Lookup(ctx, feeds.NewQueryLatest(entry.Feed, lookup.NoClue))
if err != nil {
apiGetNotFound.Inc(1)
status = http.StatusNotFound
@@ -957,7 +958,7 @@ func (a *API) BuildDirectoryTree(ctx context.Context, mhash string, nameresolver
}
// FeedsLookup finds Swarm Feeds Updates at specific points in time, or the latest update
-func (a *API) FeedsLookup(ctx context.Context, query *mru.Query) ([]byte, error) {
+func (a *API) FeedsLookup(ctx context.Context, query *feeds.Query) ([]byte, error) {
_, err := a.feeds.Lookup(ctx, query)
if err != nil {
return nil, err
@@ -971,12 +972,12 @@ func (a *API) FeedsLookup(ctx context.Context, query *mru.Query) ([]byte, error)
}
// FeedsNewRequest creates a Request object to update a specific Feed
-func (a *API) FeedsNewRequest(ctx context.Context, feed *mru.Feed) (*mru.Request, error) {
+func (a *API) FeedsNewRequest(ctx context.Context, feed *feeds.Feed) (*feeds.Request, error) {
return a.feeds.NewRequest(ctx, feed)
}
// FeedsUpdate publishes a new update on the given Feed
-func (a *API) FeedsUpdate(ctx context.Context, request *mru.Request) (storage.Address, error) {
+func (a *API) FeedsUpdate(ctx context.Context, request *feeds.Request) (storage.Address, error) {
return a.feeds.Update(ctx, request)
}
@@ -992,7 +993,7 @@ var ErrCannotLoadFeedManifest = errors.New("Cannot load feed manifest")
var ErrNotAFeedManifest = errors.New("Not a feed manifest")
// ResolveFeedManifest retrieves the Feed manifest for the given address, and returns the referenced Feed.
-func (a *API) ResolveFeedManifest(ctx context.Context, addr storage.Address) (*mru.Feed, error) {
+func (a *API) ResolveFeedManifest(ctx context.Context, addr storage.Address) (*feeds.Feed, error) {
trie, err := loadManifest(ctx, a.fileStore, addr, nil, NOOPDecrypt)
if err != nil {
return nil, ErrCannotLoadFeedManifest
@@ -1015,8 +1016,8 @@ var ErrCannotResolveFeed = errors.New("Cannot resolve Feed")
// ResolveFeed attempts to extract Feed information out of the manifest, if provided
// If not, it attempts to extract the Feed out of a set of key-value pairs
-func (a *API) ResolveFeed(ctx context.Context, uri *URI, values mru.Values) (*mru.Feed, error) {
- var feed *mru.Feed
+func (a *API) ResolveFeed(ctx context.Context, uri *URI, values feeds.Values) (*feeds.Feed, error) {
+ var feed *feeds.Feed
var err error
if uri.Addr != "" {
// resolve the content key.
@@ -1035,7 +1036,7 @@ func (a *API) ResolveFeed(ctx context.Context, uri *URI, values mru.Values) (*mr
}
log.Debug("handle.get.feed: resolved", "manifestkey", manifestAddr, "feed", feed.Hex())
} else {
- var v mru.Feed
+ var v feeds.Feed
if err := v.FromValues(values); err != nil {
return nil, ErrCannotResolveFeed
diff --git a/swarm/api/client/client.go b/swarm/api/client/client.go
index 76ada1297..6b4614581 100644
--- a/swarm/api/client/client.go
+++ b/swarm/api/client/client.go
@@ -35,7 +35,7 @@ import (
"strings"
"github.com/ethereum/go-ethereum/swarm/api"
- "github.com/ethereum/go-ethereum/swarm/storage/mru"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds"
)
var (
@@ -608,7 +608,7 @@ var ErrNoFeedUpdatesFound = errors.New("No updates found for this feed")
// data
// Returns the resulting Feed Manifest address that you can use to include in an ENS Resolver (setContent)
// or reference future updates (Client.UpdateFeed)
-func (c *Client) CreateFeedWithManifest(request *mru.Request) (string, error) {
+func (c *Client) CreateFeedWithManifest(request *feeds.Request) (string, error) {
responseStream, err := c.updateFeed(request, true)
if err != nil {
return "", err
@@ -628,12 +628,12 @@ func (c *Client) CreateFeedWithManifest(request *mru.Request) (string, error) {
}
// UpdateFeed allows you to set a new version of your content
-func (c *Client) UpdateFeed(request *mru.Request) error {
+func (c *Client) UpdateFeed(request *feeds.Request) error {
_, err := c.updateFeed(request, false)
return err
}
-func (c *Client) updateFeed(request *mru.Request, createManifest bool) (io.ReadCloser, error) {
+func (c *Client) updateFeed(request *feeds.Request, createManifest bool) (io.ReadCloser, error) {
URL, err := url.Parse(c.Gateway)
if err != nil {
return nil, err
@@ -662,7 +662,7 @@ func (c *Client) updateFeed(request *mru.Request, createManifest bool) (io.ReadC
// QueryFeed returns a byte stream with the raw content of the feed update
// manifestAddressOrDomain is the address you obtained in CreateFeedWithManifest or an ENS domain whose Resolver
// points to that address
-func (c *Client) QueryFeed(query *mru.Query, manifestAddressOrDomain string) (io.ReadCloser, error) {
+func (c *Client) QueryFeed(query *feeds.Query, manifestAddressOrDomain string) (io.ReadCloser, error) {
return c.queryFeed(query, manifestAddressOrDomain, false)
}
@@ -670,7 +670,7 @@ func (c *Client) QueryFeed(query *mru.Query, manifestAddressOrDomain string) (io
// manifestAddressOrDomain is the address you obtained in CreateFeedWithManifest or an ENS domain whose Resolver
// points to that address
// meta set to true will instruct the node return Feed metainformation instead
-func (c *Client) queryFeed(query *mru.Query, manifestAddressOrDomain string, meta bool) (io.ReadCloser, error) {
+func (c *Client) queryFeed(query *feeds.Query, manifestAddressOrDomain string, meta bool) (io.ReadCloser, error) {
URL, err := url.Parse(c.Gateway)
if err != nil {
return nil, err
@@ -706,10 +706,10 @@ func (c *Client) queryFeed(query *mru.Query, manifestAddressOrDomain string, met
return res.Body, nil
}
-// GetFeedMetadata returns a structure that describes the referenced Feed status
+// GetFeedRequest returns a structure that describes the referenced Feed status
// manifestAddressOrDomain is the address you obtained in CreateFeedWithManifest or an ENS domain whose Resolver
// points to that address
-func (c *Client) GetFeedMetadata(query *mru.Query, manifestAddressOrDomain string) (*mru.Request, error) {
+func (c *Client) GetFeedRequest(query *feeds.Query, manifestAddressOrDomain string) (*feeds.Request, error) {
responseStream, err := c.queryFeed(query, manifestAddressOrDomain, true)
if err != nil {
@@ -722,7 +722,7 @@ func (c *Client) GetFeedMetadata(query *mru.Query, manifestAddressOrDomain strin
return nil, err
}
- var metadata mru.Request
+ var metadata feeds.Request
if err := metadata.UnmarshalJSON(body); err != nil {
return nil, err
}
diff --git a/swarm/api/client/client_test.go b/swarm/api/client/client_test.go
index fbc49a6e1..4fad7fbc7 100644
--- a/swarm/api/client/client_test.go
+++ b/swarm/api/client/client_test.go
@@ -25,14 +25,14 @@ import (
"sort"
"testing"
- "github.com/ethereum/go-ethereum/swarm/storage/mru/lookup"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds/lookup"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/swarm/api"
swarmhttp "github.com/ethereum/go-ethereum/swarm/api/http"
"github.com/ethereum/go-ethereum/swarm/multihash"
- "github.com/ethereum/go-ethereum/swarm/storage/mru"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds"
"github.com/ethereum/go-ethereum/swarm/testutil"
)
@@ -361,12 +361,12 @@ func TestClientMultipartUpload(t *testing.T) {
}
}
-func newTestSigner() (*mru.GenericSigner, error) {
+func newTestSigner() (*feeds.GenericSigner, error) {
privKey, err := crypto.HexToECDSA("deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef")
if err != nil {
return nil, err
}
- return mru.NewGenericSigner(privKey), nil
+ return feeds.NewGenericSigner(privKey), nil
}
// test the transparent resolving of multihash feed updates with bzz:// scheme
@@ -394,9 +394,9 @@ func TestClientCreateFeedMultihash(t *testing.T) {
mh := multihash.ToMultihash(s)
// our feed topic
- topic, _ := mru.NewTopic("foo.eth", nil)
+ topic, _ := feeds.NewTopic("foo.eth", nil)
- createRequest := mru.NewFirstRequest(topic)
+ createRequest := feeds.NewFirstRequest(topic)
createRequest.SetData(mh)
if err := createRequest.Sign(signer); err != nil {
@@ -448,8 +448,8 @@ func TestClientCreateUpdateFeed(t *testing.T) {
databytes := []byte("En un lugar de La Mancha, de cuyo nombre no quiero acordarme...")
// our feed topic name
- topic, _ := mru.NewTopic("El Quijote", nil)
- createRequest := mru.NewFirstRequest(topic)
+ topic, _ := feeds.NewTopic("El Quijote", nil)
+ createRequest := feeds.NewFirstRequest(topic)
createRequest.SetData(databytes)
if err := createRequest.Sign(signer); err != nil {
@@ -479,7 +479,7 @@ func TestClientCreateUpdateFeed(t *testing.T) {
// define different data
databytes = []byte("... no ha mucho tiempo que vivĂ­a un hidalgo de los de lanza en astillero ...")
- updateRequest, err := client.GetFeedMetadata(nil, correctManifestAddrHex)
+ updateRequest, err := client.GetFeedRequest(nil, correctManifestAddrHex)
if err != nil {
t.Fatalf("Error retrieving update request template: %s", err)
}
@@ -508,12 +508,12 @@ func TestClientCreateUpdateFeed(t *testing.T) {
// now try retrieving feed updates without a manifest
- feed := &mru.Feed{
+ feed := &feeds.Feed{
Topic: topic,
User: signer.Address(),
}
- lookupParams := mru.NewQueryLatest(feed, lookup.NoClue)
+ lookupParams := feeds.NewQueryLatest(feed, lookup.NoClue)
reader, err = client.QueryFeed(lookupParams, "")
if err != nil {
t.Fatalf("Error retrieving feed updates: %s", err)
diff --git a/swarm/api/http/server.go b/swarm/api/http/server.go
index c5b3b564c..84e06d09f 100644
--- a/swarm/api/http/server.go
+++ b/swarm/api/http/server.go
@@ -40,7 +40,7 @@ import (
"github.com/ethereum/go-ethereum/swarm/api"
"github.com/ethereum/go-ethereum/swarm/log"
"github.com/ethereum/go-ethereum/swarm/storage"
- "github.com/ethereum/go-ethereum/swarm/storage/mru"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds"
"github.com/rs/cors"
)
@@ -466,7 +466,7 @@ func (s *Server) HandlePostFeed(w http.ResponseWriter, r *http.Request) {
log.Debug("handle.post.feed", "ruid", ruid)
var err error
- // Creation and update must send mru.updateRequestJSON JSON structure
+ // Creation and update must send feeds.updateRequestJSON JSON structure
body, err := ioutil.ReadAll(r.Body)
if err != nil {
RespondError(w, r, err.Error(), http.StatusInternalServerError)
@@ -484,7 +484,7 @@ func (s *Server) HandlePostFeed(w http.ResponseWriter, r *http.Request) {
return
}
- var updateRequest mru.Request
+ var updateRequest feeds.Request
updateRequest.Feed = *feed
query := r.URL.Query()
@@ -582,7 +582,7 @@ func (s *Server) HandleGetFeed(w http.ResponseWriter, r *http.Request) {
return
}
- lookupParams := &mru.Query{Feed: *feed}
+ lookupParams := &feeds.Query{Feed: *feed}
if err = lookupParams.FromValues(r.URL.Query()); err != nil { // parse period, version
RespondError(w, r, fmt.Sprintf("invalid feed update request:%s", err), http.StatusBadRequest)
return
@@ -606,7 +606,7 @@ func (s *Server) HandleGetFeed(w http.ResponseWriter, r *http.Request) {
func (s *Server) translateFeedError(w http.ResponseWriter, r *http.Request, supErr string, err error) (int, error) {
code := 0
defaultErr := fmt.Errorf("%s: %v", supErr, err)
- rsrcErr, ok := err.(*mru.Error)
+ rsrcErr, ok := err.(*feeds.Error)
if !ok && rsrcErr != nil {
code = rsrcErr.Code()
}
diff --git a/swarm/api/http/server_test.go b/swarm/api/http/server_test.go
index a7c7e3003..16813cab5 100644
--- a/swarm/api/http/server_test.go
+++ b/swarm/api/http/server_test.go
@@ -38,7 +38,7 @@ import (
"testing"
"time"
- "github.com/ethereum/go-ethereum/swarm/storage/mru/lookup"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds/lookup"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
@@ -48,7 +48,7 @@ import (
swarm "github.com/ethereum/go-ethereum/swarm/api/client"
"github.com/ethereum/go-ethereum/swarm/multihash"
"github.com/ethereum/go-ethereum/swarm/storage"
- "github.com/ethereum/go-ethereum/swarm/storage/mru"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds"
"github.com/ethereum/go-ethereum/swarm/testutil"
)
@@ -62,12 +62,12 @@ func serverFunc(api *api.API) testutil.TestServer {
return NewServer(api, "")
}
-func newTestSigner() (*mru.GenericSigner, error) {
+func newTestSigner() (*feeds.GenericSigner, error) {
privKey, err := crypto.HexToECDSA("deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef")
if err != nil {
return nil, err
}
- return mru.NewGenericSigner(privKey), nil
+ return feeds.NewGenericSigner(privKey), nil
}
// test the transparent resolving of multihash-containing feed updates with bzz:// scheme
@@ -103,8 +103,8 @@ func TestBzzFeedMultihash(t *testing.T) {
log.Info("added data", "manifest", string(b), "data", common.ToHex(mh))
- topic, _ := mru.NewTopic("foo.eth", nil)
- updateRequest := mru.NewFirstRequest(topic)
+ topic, _ := feeds.NewTopic("foo.eth", nil)
+ updateRequest := feeds.NewFirstRequest(topic)
updateRequest.SetData(mh)
@@ -182,8 +182,8 @@ func TestBzzFeed(t *testing.T) {
//data for update 2
update2Data := []byte("foo")
- topic, _ := mru.NewTopic("foo.eth", nil)
- updateRequest := mru.NewFirstRequest(topic)
+ topic, _ := feeds.NewTopic("foo.eth", nil)
+ updateRequest := feeds.NewFirstRequest(topic)
if err != nil {
t.Fatal(err)
}
@@ -319,7 +319,7 @@ func TestBzzFeed(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- updateRequest = &mru.Request{}
+ updateRequest = &feeds.Request{}
if err = updateRequest.UnmarshalJSON(b); err != nil {
t.Fatalf("Error decoding feed metadata: %s", err)
}
@@ -365,7 +365,7 @@ func TestBzzFeed(t *testing.T) {
// test manifest-less queries
log.Info("get first update in update1Timestamp via direct query")
- query := mru.NewQuery(&updateRequest.Feed, update1Timestamp, lookup.NoClue)
+ query := feeds.NewQuery(&updateRequest.Feed, update1Timestamp, lookup.NoClue)
urlq, err := url.Parse(fmt.Sprintf("%s/bzz-feed:/", srv.URL))
if err != nil {
diff --git a/swarm/api/manifest.go b/swarm/api/manifest.go
index f41a823bd..9ac3214a5 100644
--- a/swarm/api/manifest.go
+++ b/swarm/api/manifest.go
@@ -27,7 +27,7 @@ import (
"strings"
"time"
- "github.com/ethereum/go-ethereum/swarm/storage/mru"
+ "github.com/ethereum/go-ethereum/swarm/storage/feeds"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/swarm/log"
@@ -56,7 +56,7 @@ type ManifestEntry struct {
ModTime time.Time `json:"mod_time,omitempty"`
Status int `json:"status,omitempty"`
Access *AccessEntry `json:"access,omitempty"`
- Feed *mru.Feed `json:"feed,omitempty"`
+ Feed *feeds.Feed `json:"feed,omitempty"`
}
// ManifestList represents the result of listing files in a manifest
@@ -82,7 +82,7 @@ func (a *API) NewManifest(ctx context.Context, toEncrypt bool) (storage.Address,
// Manifest hack for supporting Feeds from the bzz: scheme
// see swarm/api/api.go:API.Get() for more information
-func (a *API) NewFeedManifest(ctx context.Context, feed *mru.Feed) (storage.Address, error) {
+func (a *API) NewFeedManifest(ctx context.Context, feed *feeds.Feed) (storage.Address, error) {
var manifest Manifest
entry := ManifestEntry{
Feed: feed,