Send an HTTP/440 response instead of an HTTP/502 if an upstream provider rejects a "send verification code" request
This commit is contained in:
parent
43fd8518c0
commit
5c31ef43c9
|
@ -12,9 +12,11 @@ import org.whispersystems.textsecuregcm.registration.RegistrationServiceSenderEx
|
|||
|
||||
public class RegistrationServiceSenderExceptionMapper implements ExceptionMapper<RegistrationServiceSenderException> {
|
||||
|
||||
public static int REMOTE_SERVICE_REJECTED_REQUEST_STATUS = 440;
|
||||
|
||||
@Override
|
||||
public Response toResponse(final RegistrationServiceSenderException exception) {
|
||||
return Response.status(Response.Status.BAD_GATEWAY)
|
||||
return Response.status(REMOTE_SERVICE_REJECTED_REQUEST_STATUS)
|
||||
.entity(new SendVerificationCodeFailureResponse(exception.getReason(), exception.isPermanent()))
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -1071,7 +1071,7 @@ class VerificationControllerTest {
|
|||
.request()
|
||||
.header(HttpHeaders.X_FORWARDED_FOR, "127.0.0.1");
|
||||
try (Response response = request.post(Entity.json(requestVerificationCodeJson("voice", "ios")))) {
|
||||
assertEquals(HttpStatus.SC_BAD_GATEWAY, response.getStatus());
|
||||
assertEquals(RegistrationServiceSenderExceptionMapper.REMOTE_SERVICE_REJECTED_REQUEST_STATUS, response.getStatus());
|
||||
|
||||
final Map<String, Object> responseMap = response.readEntity(Map.class);
|
||||
|
||||
|
|
Loading…
Reference in New Issue