From 5845d2dedd2ac41456376cf151fd1adfe0931a71 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Wed, 8 Jan 2014 17:14:01 -1000 Subject: [PATCH] Move /v2/keys/{number} to /v1/keys/multikeys/{number} --- .../textsecuregcm/WhisperServerService.java | 3 +- .../controllers/KeysController.java | 58 +++++++------------ .../tests/controllers/KeyControllerTest.java | 5 +- 3 files changed, 24 insertions(+), 42 deletions(-) diff --git a/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index bbe0cdc27..4170cc9f7 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -128,8 +128,7 @@ public class WhisperServerService extends Service { environment.addResource(new AccountController(pendingAccountsManager, pendingDevicesManager, accountsManager, rateLimiters, smsSender)); environment.addResource(new DirectoryController(rateLimiters, directory)); environment.addResource(new AttachmentController(rateLimiters, federatedClientManager, urlSigner)); - environment.addResource(new KeysController.V1(rateLimiters, keys, accountsManager, federatedClientManager)); - environment.addResource(new KeysController.V2(rateLimiters, keys, accountsManager, federatedClientManager)); + environment.addResource(new KeysController(rateLimiters, keys, accountsManager, federatedClientManager)); environment.addResource(new FederationController(keys, accountsManager, pushSender, urlSigner)); environment.addServlet(new MessageController(rateLimiters, accountAuthenticator, diff --git a/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java b/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java index 6ff6fae36..ca2dac79d 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java +++ b/src/main/java/org/whispersystems/textsecuregcm/controllers/KeysController.java @@ -44,7 +44,7 @@ import javax.ws.rs.core.Response; import java.util.List; @Path("/v1/keys") -public abstract class KeysController { +public class KeysController { private final Logger logger = LoggerFactory.getLogger(AccountController.class); @@ -90,43 +90,27 @@ public abstract class KeysController { } } - @Path("/v1/keys") - public static class V1 extends KeysController { - public V1(RateLimiters rateLimiters, Keys keys, AccountsManager accountsManager, FederatedClientManager federatedClientManager) - { - super(rateLimiters, keys, accountsManager, federatedClientManager); - } - - @Timed - @GET - @Path("/{number}") - @Produces(MediaType.APPLICATION_JSON) - public PreKey get(@Auth Account account, - @PathParam("number") String number, - @QueryParam("relay") String relay) - throws RateLimitExceededException - { - return super.getKeys(account, number, relay).get(0); - } + @Timed + @GET + @Path("/{number}") + @Produces(MediaType.APPLICATION_JSON) + public PreKey get(@Auth Account account, + @PathParam("number") String number, + @QueryParam("relay") String relay) + throws RateLimitExceededException + { + return getKeys(account, number, relay).get(0); } - @Path("/v2/keys") - public static class V2 extends KeysController { - public V2(RateLimiters rateLimiters, Keys keys, AccountsManager accountsManager, FederatedClientManager federatedClientManager) - { - super(rateLimiters, keys, accountsManager, federatedClientManager); - } - - @Timed - @GET - @Path("/{number}") - @Produces(MediaType.APPLICATION_JSON) - public List get(@Auth Account account, - @PathParam("number") String number, - @QueryParam("relay") String relay) - throws RateLimitExceededException - { - return super.getKeys(account, number, relay); - } + @Timed + @GET + @Path("/multikeys/{number}") + @Produces(MediaType.APPLICATION_JSON) + public List getMultiDevice(@Auth Account account, + @PathParam("number") String number, + @QueryParam("relay") String relay) + throws RateLimitExceededException + { + return getKeys(account, number, relay); } } diff --git a/src/test/org/whispersystems/textsecuregcm/tests/controllers/KeyControllerTest.java b/src/test/org/whispersystems/textsecuregcm/tests/controllers/KeyControllerTest.java index a41e7fa16..1c627265a 100644 --- a/src/test/org/whispersystems/textsecuregcm/tests/controllers/KeyControllerTest.java +++ b/src/test/org/whispersystems/textsecuregcm/tests/controllers/KeyControllerTest.java @@ -56,8 +56,7 @@ public class KeyControllerTest extends ResourceTest { when(accounts.getAllByNumber(EXISTS_NUMBER)).thenReturn(Arrays.asList(fakeAccount[0], fakeAccount[1])); when(accounts.getAllByNumber(NOT_EXISTS_NUMBER)).thenReturn(new LinkedList()); - addResource(new KeysController.V1(rateLimiters, keys, accounts, null)); - addResource(new KeysController.V2(rateLimiters, keys, accounts, null)); + addResource(new KeysController(rateLimiters, keys, accounts, null)); } @Test @@ -76,7 +75,7 @@ public class KeyControllerTest extends ResourceTest { verify(keys).get(eq(EXISTS_NUMBER), eq(Arrays.asList(fakeAccount))); verifyNoMoreInteractions(keys); - List results = client().resource(String.format("/v2/keys/%s", EXISTS_NUMBER)) + List results = client().resource(String.format("/v1/keys/multikeys/%s", EXISTS_NUMBER)) .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD)) .get(new GenericType>(){});