mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-17 17:33:47 +00:00
swarm/api: Correct updated resource update method calls in api
This commit is contained in:
parent
d7f4f43240
commit
64b4a0ba6f
3 changed files with 9 additions and 8 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue