aboutsummaryrefslogtreecommitdiff
path: root/clientapi/jsonerror/jsonerror.go
diff options
context:
space:
mode:
Diffstat (limited to 'clientapi/jsonerror/jsonerror.go')
-rw-r--r--clientapi/jsonerror/jsonerror.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/clientapi/jsonerror/jsonerror.go b/clientapi/jsonerror/jsonerror.go
index 70bac61d..be7d13a9 100644
--- a/clientapi/jsonerror/jsonerror.go
+++ b/clientapi/jsonerror/jsonerror.go
@@ -15,11 +15,13 @@
package jsonerror
import (
+ "context"
"fmt"
"net/http"
"github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util"
+ "github.com/sirupsen/logrus"
)
// MatrixError represents the "standard error response" in Matrix.
@@ -213,3 +215,15 @@ func NotTrusted(serverName string) *MatrixError {
Err: fmt.Sprintf("Untrusted server '%s'", serverName),
}
}
+
+// InternalAPIError is returned when Dendrite failed to reach an internal API.
+func InternalAPIError(ctx context.Context, err error) util.JSONResponse {
+ logrus.WithContext(ctx).WithError(err).Error("Error reaching an internal API")
+ return util.JSONResponse{
+ Code: http.StatusInternalServerError,
+ JSON: &MatrixError{
+ ErrCode: "M_INTERNAL_SERVER_ERROR",
+ Err: "Dendrite encountered an error reaching an internal API.",
+ },
+ }
+}