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

View File

@ -75,7 +75,7 @@ public class KeyControllerTest extends ResourceTest {
verify(keys).get(eq(EXISTS_NUMBER), eq(Arrays.asList(fakeAccount)));
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))
.get(new GenericType<List<PreKey>>(){});