From 64b4a0ba6fb3a1220a38df38234f37b86d956892 Mon Sep 17 00:00:00 2001 From: lash Date: Thu, 8 Mar 2018 10:12:14 +0100 Subject: [PATCH] swarm/api: Correct updated resource update method calls in api --- swarm/api/api.go | 8 ++++---- swarm/api/http/server.go | 7 ++++--- swarm/testutil/http.go | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/swarm/api/api.go b/swarm/api/api.go index 73fc6e07a3..3cbb884c62 100644 --- a/swarm/api/api.go +++ b/swarm/api/api.go @@ -579,17 +579,17 @@ func (self *Api) BuildDirectoryTree(mhash string, nameresolver bool) (key storag } // Look up mutable resource updates at specific periods and versions -func (self *Api) ResourceLookup(ctx context.Context, name string, period uint32, version uint32) (storage.Key, []byte, error) { +func (self *Api) ResourceLookup(ctx context.Context, name string, period uint32, version uint32, maxPeriod int) (storage.Key, []byte, error) { var err error if version != 0 { if period == 0 { return nil, nil, storage.NewResourceError(storage.ErrInvalidValue, "Period can't be 0") } - _, err = self.resource.LookupVersionByName(ctx, name, period, version, true) + _, err = self.resource.LookupVersionByName(ctx, name, period, version, true, maxPeriod) } else if period != 0 { - _, err = self.resource.LookupHistoricalByName(ctx, name, period, true) + _, err = self.resource.LookupHistoricalByName(ctx, name, period, true, maxPeriod) } else { - _, err = self.resource.LookupLatestByName(ctx, name, true) + _, err = self.resource.LookupLatestByName(ctx, name, true, maxPeriod) } if err != nil { return nil, nil, err diff --git a/swarm/api/http/server.go b/swarm/api/http/server.go index 8bcda688dd..3d3f05ada3 100644 --- a/swarm/api/http/server.go +++ b/swarm/api/http/server.go @@ -397,6 +397,7 @@ func (s *Server) HandleGetResource(w http.ResponseWriter, r *Request) { s.handleGetResource(w, r, r.uri.Addr) } +// TODO: Enable pass maxPeriod parameter func (s *Server) handleGetResource(w http.ResponseWriter, r *Request, name string) { var params []string if len(r.uri.Path) > 0 { @@ -411,7 +412,7 @@ func (s *Server) handleGetResource(w http.ResponseWriter, r *Request, name strin log.Debug("handlegetdb", "name", name, "ruid", r.ruid) switch len(params) { case 0: - updateKey, data, err = s.api.ResourceLookup(r.Context(), name, 0, 0) + updateKey, data, err = s.api.ResourceLookup(r.Context(), name, 0, 0, 0) case 2: version, err = strconv.ParseUint(params[1], 10, 32) if err != nil { @@ -421,13 +422,13 @@ func (s *Server) handleGetResource(w http.ResponseWriter, r *Request, name strin if err != nil { break } - updateKey, data, err = s.api.ResourceLookup(r.Context(), name, uint32(period), uint32(version)) + updateKey, data, err = s.api.ResourceLookup(r.Context(), name, uint32(period), uint32(version), 0) case 1: period, err = strconv.ParseUint(params[0], 10, 32) if err != nil { break } - updateKey, data, err = s.api.ResourceLookup(r.Context(), name, uint32(period), uint32(version)) + updateKey, data, err = s.api.ResourceLookup(r.Context(), name, uint32(period), uint32(version), 0) default: Respond(w, r, "invalid mutable resource request", http.StatusBadRequest) return diff --git a/swarm/testutil/http.go b/swarm/testutil/http.go index 923d4a0085..eaf60b7ee9 100644 --- a/swarm/testutil/http.go +++ b/swarm/testutil/http.go @@ -70,7 +70,7 @@ func NewTestSwarmServer(t *testing.T) *TestSwarmServer { t.Fatal(err) } - rh, err := storage.NewTestResourceHandler(resourceDir, &fakeBackend{}, nil, -1) + rh, err := storage.NewTestResourceHandler(resourceDir, &fakeBackend{}, nil, 0) if err != nil { t.Fatal(err) }