package org.jboss.resteasy.test.resource.basic.resource;
import org.junit.Assert;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import java.util.List;
import java.util.Locale;
@Path("/extension")
public class ExtensionResource {
@GET
@Produces("*/*")
public String getDefault() {
return "default";
}
@GET
@Produces("application/xml")
public String getXml(@Context HttpHeaders headers) {
@SuppressWarnings("unused")
List<Locale> languages = headers.getAcceptableLanguages();
@SuppressWarnings("unused")
List<MediaType> mediaTypes = headers.getAcceptableMediaTypes();
return "xml";
}
@GET
@Produces("text/html")
public String getXmlTwo(@Context HttpHeaders headers) {
List<Locale> languages = headers.getAcceptableLanguages();
Assert.assertEquals("Wrong number of accepted languages", 1, languages.size());
Assert.assertEquals("Wrong accepted language", new Locale("en", "us"), languages.get(0));
Assert.assertEquals("Wrong accepted language", MediaType.valueOf("text/html"), headers.getAcceptableMediaTypes().get(0));
return "html";
}
@GET
@Path("/stuff.old")
@Produces("text/plain")
public String getJson(@Context HttpHeaders headers) {
List<Locale> languages = headers.getAcceptableLanguages();
Assert.assertEquals("Wrong number of accepted languages", 1, languages.size());
Assert.assertEquals("Wrong accepted language", new Locale("en", "us"), languages.get(0));
Assert.assertEquals("Wrong accepted language", MediaType.valueOf("text/plain"), headers.getAcceptableMediaTypes().get(0));
return "plain";
}
}