diff --git a/src/main/java/io/kamax/mxisd/exception/InternalServerError.java b/src/main/java/io/kamax/mxisd/exception/InternalServerError.java index 022871f..2d98be0 100644 --- a/src/main/java/io/kamax/mxisd/exception/InternalServerError.java +++ b/src/main/java/io/kamax/mxisd/exception/InternalServerError.java @@ -33,8 +33,7 @@ public class InternalServerError extends HttpMatrixException { super( HttpStatus.SC_INTERNAL_SERVER_ERROR, "M_UNKNOWN", - "An internal server error occured. If this error persists, please contact support with reference #" + - Instant.now().toEpochMilli() + "An internal server error occurred. Contact your administrator with reference Transaction #" + Instant.now().toEpochMilli() ); } diff --git a/src/main/java/io/kamax/mxisd/http/undertow/handler/SaneHandler.java b/src/main/java/io/kamax/mxisd/http/undertow/handler/SaneHandler.java index 5854ce2..37dd79d 100644 --- a/src/main/java/io/kamax/mxisd/http/undertow/handler/SaneHandler.java +++ b/src/main/java/io/kamax/mxisd/http/undertow/handler/SaneHandler.java @@ -97,7 +97,7 @@ public class SaneHandler extends BasicHttpHandler { if (StringUtils.isNotBlank(e.getInternalReason())) { log.error("Transaction #{} - {}", e.getReference(), e.getInternalReason()); } else { - log.error("Transaction #{}", e); + log.error("Transaction #{}", e.getReference(), e); } handleException(exchange, e); diff --git a/src/main/java/io/kamax/mxisd/http/undertow/handler/auth/RestAuthHandler.java b/src/main/java/io/kamax/mxisd/http/undertow/handler/auth/RestAuthHandler.java index 6db83aa..b8222ee 100644 --- a/src/main/java/io/kamax/mxisd/http/undertow/handler/auth/RestAuthHandler.java +++ b/src/main/java/io/kamax/mxisd/http/undertow/handler/auth/RestAuthHandler.java @@ -36,7 +36,7 @@ public class RestAuthHandler extends BasicHttpHandler { public static final String Path = "/_matrix-internal/identity/v1/check_credentials"; - private transient final Logger log = LoggerFactory.getLogger(RestAuthHandler.class); + private static final Logger log = LoggerFactory.getLogger(RestAuthHandler.class); private AuthManager mgr; @@ -45,7 +45,7 @@ public class RestAuthHandler extends BasicHttpHandler { } @Override - public void handleRequest(HttpServerExchange exchange) throws Exception { + public void handleRequest(HttpServerExchange exchange) { JsonObject authData = parseJsonObject(exchange, "user"); if (!authData.has("id") || !authData.has("password")) { throw new JsonMemberNotFoundException("Missing id or password keys"); diff --git a/src/main/java/io/kamax/mxisd/http/undertow/handler/directory/v1/UserDirectorySearchHandler.java b/src/main/java/io/kamax/mxisd/http/undertow/handler/directory/v1/UserDirectorySearchHandler.java index 5f948c1..d59116f 100644 --- a/src/main/java/io/kamax/mxisd/http/undertow/handler/directory/v1/UserDirectorySearchHandler.java +++ b/src/main/java/io/kamax/mxisd/http/undertow/handler/directory/v1/UserDirectorySearchHandler.java @@ -40,7 +40,7 @@ public class UserDirectorySearchHandler extends HomeserverProxyHandler { } @Override - public void handleRequest(HttpServerExchange exchange) throws Exception { + public void handleRequest(HttpServerExchange exchange) { String accessToken = getAccessToken(exchange); UserDirectorySearchRequest searchQuery = parseJsonTo(exchange, UserDirectorySearchRequest.class); URI target = URI.create(exchange.getRequestURL()); diff --git a/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/BulkLookupHandler.java b/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/BulkLookupHandler.java index 728d807..e675d44 100644 --- a/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/BulkLookupHandler.java +++ b/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/BulkLookupHandler.java @@ -37,7 +37,7 @@ public class BulkLookupHandler extends LookupHandler { public static final String Path = IsAPIv1.Base + "/bulk_lookup"; - private transient final Logger log = LoggerFactory.getLogger(SingleLookupHandler.class); + private static final Logger log = LoggerFactory.getLogger(SingleLookupHandler.class); private LookupStrategy strategy; diff --git a/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/EphemeralKeyIsValidHandler.java b/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/EphemeralKeyIsValidHandler.java index 0f70013..1b894cb 100644 --- a/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/EphemeralKeyIsValidHandler.java +++ b/src/main/java/io/kamax/mxisd/http/undertow/handler/identity/v1/EphemeralKeyIsValidHandler.java @@ -31,7 +31,7 @@ public class EphemeralKeyIsValidHandler extends KeyIsValidHandler { public static final String Path = IsAPIv1.Base + "/pubkey/ephemeral/isvalid"; - private transient final Logger log = LoggerFactory.getLogger(EphemeralKeyIsValidHandler.class); + private static final Logger log = LoggerFactory.getLogger(EphemeralKeyIsValidHandler.class); private KeyManager mgr; diff --git a/src/main/java/io/kamax/mxisd/threepid/connector/phone/PhoneSmsTwilioConnector.java b/src/main/java/io/kamax/mxisd/threepid/connector/phone/PhoneSmsTwilioConnector.java index 42c190c..09b4ea1 100644 --- a/src/main/java/io/kamax/mxisd/threepid/connector/phone/PhoneSmsTwilioConnector.java +++ b/src/main/java/io/kamax/mxisd/threepid/connector/phone/PhoneSmsTwilioConnector.java @@ -21,10 +21,12 @@ package io.kamax.mxisd.threepid.connector.phone; import com.twilio.Twilio; +import com.twilio.exception.ApiException; import com.twilio.rest.api.v2010.account.Message; import com.twilio.type.PhoneNumber; import io.kamax.mxisd.config.threepid.connector.PhoneTwilioConfig; -import io.kamax.mxisd.exception.BadRequestException; +import io.kamax.mxisd.exception.InternalServerError; +import io.kamax.mxisd.exception.NotImplementedException; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,12 +54,17 @@ public class PhoneSmsTwilioConnector implements PhoneConnector { @Override public void send(String recipient, String content) { if (StringUtils.isBlank(cfg.getAccountSid()) || StringUtils.isBlank(cfg.getAuthToken()) || StringUtils.isBlank(cfg.getNumber())) { - throw new BadRequestException("Phone numbers cannot be validated at this time. Contact your administrator."); + log.error("Twilio connector in not fully configured and is missing mandatory configuration values."); + throw new NotImplementedException("Phone numbers cannot be validated at this time. Contact your administrator."); } recipient = "+" + recipient; log.info("Sending SMS notification from {} to {} with {} characters", cfg.getNumber(), recipient, content.length()); - Message.creator(new PhoneNumber("+" + recipient), new PhoneNumber(cfg.getNumber()), content).create(); + try { + Message.creator(new PhoneNumber("+" + recipient), new PhoneNumber(cfg.getNumber()), content).create(); + } catch (ApiException e) { + throw new InternalServerError(e); + } } }