Skip to content

Commit

Permalink
fix: api errors related to postage stamps
Browse files Browse the repository at this point in the history
  • Loading branch information
aloknerurkar committed Jun 9, 2021
1 parent e102597 commit 954aaff
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
14 changes: 12 additions & 2 deletions pkg/api/bzz.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/ethersphere/bee/pkg/file/loadsave"
"github.com/ethersphere/bee/pkg/jsonhttp"
"github.com/ethersphere/bee/pkg/manifest"
"github.com/ethersphere/bee/pkg/postage"
"github.com/ethersphere/bee/pkg/sctx"
"github.com/ethersphere/bee/pkg/storage"
"github.com/ethersphere/bee/pkg/swarm"
Expand All @@ -32,6 +33,15 @@ import (
"github.com/ethersphere/langos"
)

func mappedHTTPErr(w http.ResponseWriter, e error, defaultMsg interface{}) {
switch {
case errors.Is(e, postage.ErrBucketFull):
jsonhttp.PaymentRequired(w, "batch is overissued")
default:
jsonhttp.InternalServerError(w, defaultMsg)
}
}

func (s *server) bzzUploadHandler(w http.ResponseWriter, r *http.Request) {
logger := tracing.NewLoggerWithTraceID(r.Context(), s.logger)

Expand Down Expand Up @@ -119,7 +129,7 @@ func (s *server) fileUploadHandler(w http.ResponseWriter, r *http.Request, store
if err != nil {
logger.Debugf("bzz upload file: file store, file %q: %v", fileName, err)
logger.Errorf("bzz upload file: file store, file %q", fileName)
jsonhttp.InternalServerError(w, errFileStore)
mappedHTTPErr(w, err, errFileStore)
return
}

Expand Down Expand Up @@ -186,7 +196,7 @@ func (s *server) fileUploadHandler(w http.ResponseWriter, r *http.Request, store
if err != nil {
logger.Debugf("bzz upload file: manifest store, file %q: %v", fileName, err)
logger.Errorf("bzz upload file: manifest store, file %q", fileName)
jsonhttp.InternalServerError(w, nil)
mappedHTTPErr(w, err, nil)
return
}
logger.Debugf("Manifest Reference: %s", manifestReference.String())
Expand Down
2 changes: 1 addition & 1 deletion pkg/api/dirs.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (s *server) dirUploadHandler(w http.ResponseWriter, r *http.Request, storer
if err != nil {
logger.Debugf("bzz upload dir: store dir err: %v", err)
logger.Errorf("bzz upload dir: store dir")
jsonhttp.InternalServerError(w, errDirectoryStore)
mappedHTTPErr(w, err, errDirectoryStore)
return
}
if created {
Expand Down

0 comments on commit 954aaff

Please sign in to comment.