summaryrefslogtreecommitdiff
path: root/daemon/algod/api/server/v2/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/algod/api/server/v2/utils.go')
-rw-r--r--daemon/algod/api/server/v2/utils.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/daemon/algod/api/server/v2/utils.go b/daemon/algod/api/server/v2/utils.go
index b82212a19..ee306a62b 100644
--- a/daemon/algod/api/server/v2/utils.go
+++ b/daemon/algod/api/server/v2/utils.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2019-2023 Algorand, Inc.
+// Copyright (C) 2019-2024 Algorand, Inc.
// This file is part of go-algorand
//
// go-algorand is free software: you can redistribute it and/or modify
@@ -18,6 +18,7 @@ package v2
import (
"encoding/base64"
+ "errors"
"fmt"
"net/http"
"strings"
@@ -44,7 +45,12 @@ import (
// returnError logs an internal message while returning the encoded response.
func returnError(ctx echo.Context, code int, internal error, external string, logger logging.Logger) error {
logger.Info(internal)
- return ctx.JSON(code, model.ErrorResponse{Message: external})
+ var data *map[string]any
+ var se *basics.SError
+ if errors.As(internal, &se) {
+ data = &se.Attrs
+ }
+ return ctx.JSON(code, model.ErrorResponse{Message: external, Data: data})
}
func badRequest(ctx echo.Context, internal error, external string, log logging.Logger) error {