Add Code to FederationClientError

This commit is contained in:
Till Faelligen 2022-09-07 15:44:14 +02:00
parent d3aeeaa9c2
commit bdf9b2cee3
No known key found for this signature in database
GPG key ID: 3DF82D8AB9211D4E
2 changed files with 11 additions and 3 deletions

View file

@ -5,9 +5,10 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/matrix-org/dendrite/federationapi/types"
"github.com/matrix-org/gomatrix" "github.com/matrix-org/gomatrix"
"github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/dendrite/federationapi/types"
) )
// FederationInternalAPI is used to query information from the federation sender. // FederationInternalAPI is used to query information from the federation sender.
@ -108,6 +109,7 @@ type FederationClientError struct {
Err string Err string
RetryAfter time.Duration RetryAfter time.Duration
Blacklisted bool Blacklisted bool
Code int // HTTP Status code from the remote server
} }
func (e FederationClientError) Error() string { func (e FederationClientError) Error() string {

View file

@ -6,10 +6,12 @@ import (
"net/http" "net/http"
"github.com/gorilla/mux" "github.com/gorilla/mux"
"github.com/matrix-org/dendrite/federationapi/api" "github.com/matrix-org/gomatrix"
"github.com/matrix-org/dendrite/internal/httputil"
"github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util" "github.com/matrix-org/util"
"github.com/matrix-org/dendrite/federationapi/api"
"github.com/matrix-org/dendrite/internal/httputil"
) )
// AddRoutes adds the FederationInternalAPI handlers to the http.ServeMux. // AddRoutes adds the FederationInternalAPI handlers to the http.ServeMux.
@ -229,6 +231,10 @@ func federationClientError(err error) error {
return &ferr return &ferr
case *api.FederationClientError: case *api.FederationClientError:
return ferr return ferr
case gomatrix.HTTPError:
return &api.FederationClientError{
Code: ferr.Code,
}
default: default:
return &api.FederationClientError{ return &api.FederationClientError{
Err: err.Error(), Err: err.Error(),