Remove all differences in url parameters.

This commit is contained in:
Matt Corallo 2014-01-09 09:24:46 -10:00
parent 48fe609d53
commit 605e88d4bf
2 changed files with 10 additions and 17 deletions

View File

@ -16,6 +16,7 @@
*/ */
package org.whispersystems.textsecuregcm.controllers; package org.whispersystems.textsecuregcm.controllers;
import com.google.common.base.Optional;
import com.yammer.dropwizard.auth.Auth; import com.yammer.dropwizard.auth.Auth;
import com.yammer.metrics.annotation.Timed; import com.yammer.metrics.annotation.Timed;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -94,23 +95,15 @@ public class KeysController {
@GET @GET
@Path("/{number}") @Path("/{number}")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public PreKey get(@Auth Account account, public Response get(@Auth Account account,
@PathParam("number") String number, @PathParam("number") String number,
@QueryParam("relay") String relay) @QueryParam("multikeys") Optional<String> multikey,
@QueryParam("relay") String relay)
throws RateLimitExceededException throws RateLimitExceededException
{ {
return getKeys(account, number, relay).get(0); if (!multikey.isPresent())
} return Response.ok(getKeys(account, number, relay).get(0)).type(MediaType.APPLICATION_JSON).build();
else
@Timed return Response.ok(getKeys(account, number, relay)).type(MediaType.APPLICATION_JSON).build();
@GET
@Path("/multikeys/{number}")
@Produces(MediaType.APPLICATION_JSON)
public List<PreKey> getMultiDevice(@Auth Account account,
@PathParam("number") String number,
@QueryParam("relay") String relay)
throws RateLimitExceededException
{
return getKeys(account, number, relay);
} }
} }

View File

@ -75,7 +75,7 @@ public class KeyControllerTest extends ResourceTest {
verify(keys).get(eq(EXISTS_NUMBER), eq(Arrays.asList(fakeAccount))); verify(keys).get(eq(EXISTS_NUMBER), eq(Arrays.asList(fakeAccount)));
verifyNoMoreInteractions(keys); verifyNoMoreInteractions(keys);
List<PreKey> results = client().resource(String.format("/v1/keys/multikeys/%s", EXISTS_NUMBER)) List<PreKey> results = client().resource(String.format("/v1/keys/%s?multikeys", EXISTS_NUMBER))
.header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD)) .header("Authorization", AuthHelper.getAuthHeader(AuthHelper.VALID_NUMBER, AuthHelper.VALID_PASSWORD))
.get(new GenericType<List<PreKey>>(){}); .get(new GenericType<List<PreKey>>(){});