diff options
Diffstat (limited to 'federationapi/inthttp/server.go')
-rw-r--r-- | federationapi/inthttp/server.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/federationapi/inthttp/server.go b/federationapi/inthttp/server.go index 58ea9ddc..7aa0e480 100644 --- a/federationapi/inthttp/server.go +++ b/federationapi/inthttp/server.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "net/http" + "net/url" "github.com/gorilla/mux" "github.com/matrix-org/gomatrix" @@ -235,9 +236,17 @@ func federationClientError(err error) error { return &api.FederationClientError{ Code: ferr.Code, } + case *url.Error: // e.g. certificate error, unable to connect + return &api.FederationClientError{ + Err: ferr.Error(), + Code: 400, + } default: + // We don't know what exactly failed, but we probably don't + // want to retry the request immediately in the device list updater return &api.FederationClientError{ - Err: err.Error(), + Err: err.Error(), + Code: 400, } } } |