Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f777b02

Browse files
committed
fix(user-mgmt): better error handling when Auth0 cannot update/create a user
1 parent c01eadc commit f777b02

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/main/java/com/conveyal/datatools/manager/controllers/api/UserController.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.apache.http.entity.ByteArrayEntity;
2323
import org.apache.http.impl.client.HttpClientBuilder;
2424
import org.apache.http.util.EntityUtils;
25+
import org.eclipse.jetty.http.HttpStatus;
2526
import org.slf4j.Logger;
2627
import org.slf4j.LoggerFactory;
2728
import spark.Request;
@@ -187,10 +188,20 @@ private static String createUser(Request req, Response res) throws IOException {
187188
String result = EntityUtils.toString(response.getEntity());
188189

189190
int statusCode = response.getStatusLine().getStatusCode();
190-
if(statusCode >= 300) haltWithMessage(req, statusCode, response.toString());
191-
192-
System.out.println(result);
193-
191+
if(statusCode >= 300) {
192+
// If Auth0 status shows an error, throw a halt with a reasonably intelligible message.
193+
LOG.error("Auth0 error encountered. Could not create user: {}", response.toString());
194+
String errorMessage;
195+
switch (statusCode) {
196+
case HttpStatus.CONFLICT_409:
197+
errorMessage = String.format("User already exists for email address %s.", jsonNode.get("email"));
198+
break;
199+
default:
200+
errorMessage = String.format("Error while creating user: %s.", HttpStatus.getMessage(statusCode));
201+
break;
202+
}
203+
haltWithMessage(req, statusCode, errorMessage);
204+
}
194205
return result;
195206
}
196207

0 commit comments

Comments
 (0)