package org.jboss.resteasy.test.providers.plain.resource; import org.jboss.logging.Logger; import org.junit.Assert; import javax.ws.rs.Path; import javax.ws.rs.POST; import javax.ws.rs.Consumes; import javax.ws.rs.Produces; import javax.ws.rs.Encoded; import javax.ws.rs.core.MultivaluedMap; import java.nio.charset.Charset; @Path("/") public class CharsetResource { private static Logger logger = Logger.getLogger(CharsetResource.class); @POST @Path("produces/string/utf16") @Consumes("text/plain") @Produces("text/plain;charset=UTF-16") public String stringProducesUtf16(String s) { logger.info("server default charset: " + Charset.defaultCharset()); logger.info("s: " + s); return s; } @POST @Path("accepts/string/default") @Consumes("text/plain") public String stringAcceptsDefault(String s) { logger.info("s: " + s); return s; } @POST @Path("produces/foo/utf16") @Consumes("text/plain") @Produces("text/plain;charset=UTF-16") public CharsetFoo fooProducesUtf16(CharsetFoo foo) { logger.info("foo: " + foo.valueOf()); return foo; } @POST @Path("accepts/foo/default") @Consumes("text/plain") @Produces("text/plain") public CharsetFoo fooAcceptsDefault(CharsetFoo foo) { logger.info("foo: " + foo.valueOf()); return foo; } @POST @Path("accepts/form/default") @Produces("application/x-www-form-urlencoded") @Consumes("application/x-www-form-urlencoded") @Encoded public MultivaluedMap<String, String> formAcceptsDefault(MultivaluedMap<String, String> form) { Assert.assertTrue("Form doesn't contain the expected key", form.containsKey("title")); String s = form.getFirst("title"); logger.info("s: " + s); return form; } }