http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
index eafefd4..0ca0557 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/GroupsResource.java
@@ -31,6 +31,11 @@ public class GroupsResource extends RestServlet {
 
        @Produces("text/s1,text/s2")
        public static class SSerializer extends WriterSerializer {
+
+               public SSerializer(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object 
output) throws Exception {
                        session.getWriter().write("text/s," + output);
@@ -39,6 +44,11 @@ public class GroupsResource extends RestServlet {
 
        @Consumes("text/p1,text/p2")
        public static class PParser extends ReaderParser {
+
+               public PParser(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
@@ -48,13 +58,13 @@ public class GroupsResource extends RestServlet {
 
 
        @Override /* RestServlet */
-       public SerializerGroup createSerializers(ObjectMap properties, 
Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
-               return new 
SerializerGroup().append(SSerializer.class).setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
+       public SerializerGroupBuilder createSerializers(ObjectMap properties, 
Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return super.createSerializers(properties, beanFilters, 
pojoSwaps).append(SSerializer.class);
        }
 
        @Override /* RestServlet */
-       public ParserGroup createParsers(ObjectMap properties, Class<?>[] 
beanFilters, Class<?>[] pojoSwaps) throws Exception {
-               return new 
ParserGroup().append(PParser.class).setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
+       public ParserGroupBuilder createParsers(ObjectMap properties, 
Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return super.createParsers(properties, beanFilters, 
pojoSwaps).append(PParser.class);
        }
 
        
//====================================================================================================

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InheritanceResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InheritanceResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InheritanceResource.java
index 0e41572..204860b 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InheritanceResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InheritanceResource.java
@@ -223,6 +223,11 @@ public class InheritanceResource extends RestServlet {
        }
 
        public static class DummyParser extends ReaderParser {
+
+               public DummyParser() {
+                       super(PropertyStore.create());
+               }
+
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
                        return null;
@@ -230,6 +235,11 @@ public class InheritanceResource extends RestServlet {
        }
 
        public static class DummySerializer extends WriterSerializer {
+
+               public DummySerializer() {
+                       super(PropertyStore.create());
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        session.getWriter().write(o.toString());
@@ -237,34 +247,34 @@ public class InheritanceResource extends RestServlet {
        }
 
        @Consumes("text/p1")
-       public static class P1 extends DummyParser{}
+       public static class P1 extends DummyParser{ public P1(PropertyStore ps) 
{super();} }
 
        @Consumes("text/p2")
-       public static class P2 extends DummyParser{}
+       public static class P2 extends DummyParser{ public P2(PropertyStore ps) 
{super();} }
 
        @Consumes("text/p3")
-       public static class P3 extends DummyParser{}
+       public static class P3 extends DummyParser{ public P3(PropertyStore ps) 
{super();} }
 
        @Consumes("text/p4")
-       public static class P4 extends DummyParser{}
+       public static class P4 extends DummyParser{ public P4(PropertyStore ps) 
{super();} }
 
        @Consumes("text/p5")
-       public static class P5 extends DummyParser{}
+       public static class P5 extends DummyParser{ public P5(PropertyStore ps) 
{super();} }
 
        @Produces("text/s1")
-       public static class S1 extends DummySerializer{}
+       public static class S1 extends DummySerializer{ public S1(PropertyStore 
ps) {super();} }
 
        @Produces("text/s2")
-       public static class S2 extends DummySerializer{}
+       public static class S2 extends DummySerializer{ public S2(PropertyStore 
ps) {super();} }
 
        @Produces("text/s3")
-       public static class S3 extends DummySerializer{}
+       public static class S3 extends DummySerializer{ public S3(PropertyStore 
ps) {super();} }
 
        @Produces("text/s4")
-       public static class S4 extends DummySerializer{}
+       public static class S4 extends DummySerializer{ public S4(PropertyStore 
ps) {super();} }
 
        @Produces("text/s5")
-       public static class S5 extends DummySerializer{}
+       public static class S5 extends DummySerializer{ public S5(PropertyStore 
ps) {super();} }
 
        public static class E1 extends IdentityEncoder {
                @Override public String[] getCodings() {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NlsPropertyResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NlsPropertyResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NlsPropertyResource.java
index a53055b..05093b9 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NlsPropertyResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/NlsPropertyResource.java
@@ -12,6 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.rest.test;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
@@ -53,6 +54,11 @@ public class NlsPropertyResource extends RestServlet {
 
        @Produces("text/plain")
        public static class TestSerializer extends WriterSerializer {
+
+               public TestSerializer(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        
session.getWriter().write(session.getProperties().getString("TestProperty"));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPostCallResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPostCallResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPostCallResource.java
index 01add72..c18b5e3 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPostCallResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPostCallResource.java
@@ -37,6 +37,11 @@ public class OnPostCallResource extends RestServlet {
 
        @Produces("text/s1,text/s2,text/s3")
        public static class TestSerializer extends WriterSerializer {
+
+               public TestSerializer(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        ObjectMap p = session.getProperties();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPreCallResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPreCallResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPreCallResource.java
index e2661cb..46e20a6 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPreCallResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/OnPreCallResource.java
@@ -39,6 +39,11 @@ public class OnPreCallResource extends RestServlet {
 
        @Consumes("text/a1,text/a2,text/a3")
        public static class TestParserA extends ReaderParser {
+
+               public TestParserA(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
index e3d0f48..e690d88 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParamsResource.java
@@ -13,7 +13,6 @@
 package org.apache.juneau.rest.test;
 
 import static org.apache.juneau.rest.RestServletContext.*;
-import static org.apache.juneau.urlencoding.UrlEncodingContext.*;
 
 import java.util.*;
 
@@ -26,6 +25,7 @@ import org.apache.juneau.plaintext.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.transforms.*;
+import org.apache.juneau.urlencoding.*;
 
 /**
  * JUnit automated testcase resource.
@@ -268,7 +268,7 @@ public class ParamsResource extends RestServletDefault {
        
//====================================================================================================
        @RestMethod(name="POST", 
path="/testFormPostsWithMultiParamsUsingProperty",
                properties={
-                       @Property(name=URLENC_expandedParams, value="true")
+                       
@Property(name=UrlEncodingContext.URLENC_expandedParams, value="true")
                }
        )
        public DTO2s.B testFormPostsWithMultiParamsViaProperty(@Body DTO2s.B 
content) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
index c32c44b..3c6ddad 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/ParsersResource.java
@@ -36,6 +36,11 @@ public class ParsersResource extends RestServletDefault {
 
        @Consumes("text/a")
        public static class TestParserA extends ReaderParser {
+
+               public TestParserA(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
@@ -61,6 +66,11 @@ public class ParsersResource extends RestServletDefault {
 
        @Consumes("text/b")
        public static class TestParserB extends ReaderParser {
+
+               public TestParserB(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
@@ -78,6 +88,11 @@ public class ParsersResource extends RestServletDefault {
 
        @Consumes("text/c")
        public static class TestParserC extends ReaderParser {
+
+               public TestParserC(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {
@@ -95,6 +110,11 @@ public class ParsersResource extends RestServletDefault {
 
        @Consumes("text/a,text/d")
        public static class TestParserD extends ReaderParser {
+
+               public TestParserD(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @SuppressWarnings("unchecked")
                @Override /* Parser */
                protected <T> T doParse(ParserSession session, ClassMeta<T> 
type) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/PropertiesResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/PropertiesResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/PropertiesResource.java
index ad60f37..ff41a3b 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/PropertiesResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/PropertiesResource.java
@@ -61,6 +61,11 @@ public class PropertiesResource extends RestServletDefault {
 
        @Produces("application/json,text/json")
        public static class PropertySerializer1 extends WriterSerializer {
+
+               public PropertySerializer1(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object 
output) throws Exception {
                        ObjectMap p = session.getProperties();
@@ -80,6 +85,11 @@ public class PropertiesResource extends RestServletDefault {
 
        @Produces("application/json,text/json")
        public static class PropertySerializer2 extends WriterSerializer {
+
+               public PropertySerializer2(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object 
output) throws Exception {
                        ObjectMap p = session.getProperties();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/SerializersResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/SerializersResource.java
 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/SerializersResource.java
index d08c0cf..793c337 100644
--- 
a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/SerializersResource.java
+++ 
b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/SerializersResource.java
@@ -14,6 +14,7 @@ package org.apache.juneau.rest.test;
 
 import static org.apache.juneau.rest.annotation.Inherit.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.*;
@@ -31,6 +32,11 @@ public class SerializersResource extends RestServletDefault {
 
        @Produces("text/a")
        public static class TestSerializerA extends WriterSerializer {
+
+               public TestSerializerA(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        session.getWriter().write("text/a - " + o);
@@ -39,6 +45,11 @@ public class SerializersResource extends RestServletDefault {
 
        @Produces("text/b")
        public static class TestSerializerB extends WriterSerializer {
+
+               public TestSerializerB(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        session.getWriter().write("text/b - " + o);
@@ -71,6 +82,11 @@ public class SerializersResource extends RestServletDefault {
 
        @Produces("text/a")
        public static class TestSerializerC extends WriterSerializer {
+
+               public TestSerializerC(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        session.getWriter().write("text/c - " + o);
@@ -87,6 +103,11 @@ public class SerializersResource extends RestServletDefault 
{
 
        @Produces(value="text/a,text/d",contentType="text/d")
        public static class TestSerializerD extends WriterSerializer {
+
+               public TestSerializerD(PropertyStore propertyStore) {
+                       super(propertyStore);
+               }
+
                @Override /* Serializer */
                protected void doSerialize(SerializerSession session, Object o) 
throws Exception {
                        session.getWriter().write("text/d - " + o);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
index 0bace15..e6b5147 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
@@ -31,7 +31,7 @@ public class AcceptCharsetTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testQValues() throws Exception {
-               RestClient client = new TestRestClient().setHeader("Accept", 
"text/plain");
+               RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
 
                check1(client, "utf-8", "utf-8");
                check1(client, "iso-8859-1", "iso-8859-1");
@@ -46,15 +46,13 @@ public class AcceptCharsetTest extends RestTestcase {
                check1(client, "*", "utf-8");
                check1(client, "bad,iso-8859-1;q=0.5,*;q=0.1", "iso-8859-1");
                check1(client, "bad,iso-8859-1;q=0.1,*;q=0.5", "utf-8");
-
-               client.closeQuietly();
        }
 
        private void check1(RestClient client, String requestCharset, String 
responseCharset) throws Exception {
                RestCall r;
                InputStream is;
                String url = "/testAcceptCharset/testQValues";
-               r = client.doGet(url).setHeader("Accept-Charset", 
requestCharset).connect();
+               r = client.doGet(url).acceptCharset(requestCharset).connect();
                
assertTrue(r.getResponse().getFirstHeader("Content-Type").getValue().toLowerCase().contains(responseCharset));
                is = r.getInputStream();
                assertEquals("foo", IOUtils.read(new InputStreamReader(is, 
responseCharset)));
@@ -65,50 +63,50 @@ public class AcceptCharsetTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testCharsetOnResponse() throws Exception {
-               RestClient client = new 
TestRestClient().setAccept("text/plain").setContentType("text/plain");
+               RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
                String url = "/testAcceptCharset/testCharsetOnResponse";
                String r;
 
                r = client.doPut(url, new 
StringReader("")).getResponseAsString();
                assertEquals("utf-8/utf-8", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Accept-Charset", 
"Shift_JIS").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).acceptCharset("Shift_JIS").getResponseAsString();
                assertEquals("utf-8/shift_jis", r.toLowerCase());
 
                try {
-                       r = client.doPut(url+"?noTrace=true", new 
StringReader("")).setHeader("Accept-Charset", "BAD").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", new 
StringReader("")).acceptCharset("BAD").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, "No 
supported charsets in header 'Accept-Charset': 'BAD'");
                }
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Accept-Charset", "UTF-8").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).acceptCharset("UTF-8").getResponseAsString();
                assertEquals("utf-8/utf-8", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Accept-Charset", 
"bad,iso-8859-1").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).acceptCharset("bad,iso-8859-1").getResponseAsString();
                assertEquals("utf-8/iso-8859-1", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Accept-Charset", 
"bad;q=0.9,iso-8859-1;q=0.1").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).acceptCharset("bad;q=0.9,iso-8859-1;q=0.1").getResponseAsString();
                assertEquals("utf-8/iso-8859-1", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Accept-Charset", 
"bad;q=0.1,iso-8859-1;q=0.9").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).acceptCharset("bad;q=0.1,iso-8859-1;q=0.9").getResponseAsString();
                assertEquals("utf-8/iso-8859-1", r.toLowerCase());
 
-               client.setHeader("Accept-Charset", "utf-8");
+               client = 
TestMicroservice.client().accept("text/plain").contentType("text/plain").acceptCharset("utf-8").build();
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Content-Type", "text/plain").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).contentType("text/plain").getResponseAsString();
                assertEquals("utf-8/utf-8", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Content-Type", 
"text/plain;charset=utf-8").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).contentType("text/plain;charset=utf-8").getResponseAsString();
                assertEquals("utf-8/utf-8", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Content-Type", 
"text/plain;charset=UTF-8").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).contentType("text/plain;charset=UTF-8").getResponseAsString();
                assertEquals("utf-8/utf-8", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Content-Type", 
"text/plain;charset=iso-8859-1").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).contentType("text/plain;charset=iso-8859-1").getResponseAsString();
                assertEquals("iso-8859-1/utf-8", r.toLowerCase());
 
-               r = client.doPut(url, new 
StringReader("")).setHeader("Content-Type", 
"text/plain;charset=Shift_JIS").getResponseAsString();
+               r = client.doPut(url, new 
StringReader("")).contentType("text/plain;charset=Shift_JIS").getResponseAsString();
                assertEquals("shift_jis/utf-8", r.toLowerCase());
 
                try {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
index 6580d9d..1e583a5 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
@@ -14,7 +14,6 @@ package org.apache.juneau.rest.test;
 
 import static org.junit.Assert.*;
 
-import org.apache.juneau.json.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -27,11 +26,9 @@ public class BeanContextPropertiesTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testClassTransforms() throws Exception {
-               RestClient client = new TestRestClient(JsonSerializer.class, 
JsonParser.class);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String r;
-               r = 
client.doGet("/testBeanContext/testClassTransforms/2001-07-04T15:30:45Z?d2=2001-07-05T15:30:45Z").setHeader("X-D3",
 "2001-07-06T15:30:45Z").getResponseAsString();
+               r = 
client.doGet("/testBeanContext/testClassTransforms/2001-07-04T15:30:45Z?d2=2001-07-05T15:30:45Z").header("X-D3",
 "2001-07-06T15:30:45Z").getResponseAsString();
                
assertEquals("d1=2001-07-04T15:30:45Z,d2=2001-07-05T15:30:45Z,d3=2001-07-06T15:30:45Z",
 r);
-
-               client.closeQuietly();
        }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
index b65d2f8..36a6961 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
@@ -24,7 +24,7 @@ public class CallbackStringsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void test() throws Exception {
-               RestClient c = new 
TestRestClient().setAccept("text/json+simple");
+               RestClient c = 
TestMicroservice.client().accept("text/json+simple").build();
                String r;
 
                r = c.doCallback("GET /testCallback").getResponseAsString();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
index 2aeb4f7..3bf705e 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
@@ -34,7 +34,8 @@ public class CharsetEncodingsTest extends RestTestcase {
        @Test
        public void test() throws Exception {
                String url = "/testCharsetEncodings";
-               RestClient client = new 
TestRestClient().setAccept("text/s").setContentType("text/p");
+               RestClientBuilder cb = 
TestMicroservice.client().accept("text/s").contentType("text/p");
+               RestClient client = cb.build();
                InputStream is;
                String r;
 
@@ -47,20 +48,26 @@ public class CharsetEncodingsTest extends RestTestcase {
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
-               client.setHeader("Accept-Charset", 
"utf-8").setContentType("text/p;charset=utf-8");
-               is = client.doPut(url, new 
StringReader("foo")).getInputStream();
+               client.closeQuietly();
+
+               client = 
cb.acceptCharset("utf-8").contentType("text/p;charset=utf-8").build();
+               is = client.doPut(url, new 
StringReader("foo")).acceptCharset("utf-8").contentType("text/p;charset=utf-8").getInputStream();
                r = IOUtils.read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
-               client.setHeader("Accept-Charset", 
"Shift_JIS").setContentType("text/p;charset=shift_jis");
+               client.closeQuietly();
+
+               client = 
cb.acceptCharset("Shift_JIS").contentType("text/p;charset=shift_jis").build();
                is = client.doPut(url, new 
StringReader("foo")).getInputStream();
                r = IOUtils.read(new InputStreamReader(is, "Shift_JIS"));
                if (debug) System.err.println(r);
                assertEquals("shift_jis/foo/shift_jis", r);
 
+               client.closeQuietly();
+
                try {
-                       client.setHeader("Accept-Charset", 
"BAD").setContentType("text/p;charset=sjis");
+                       client = 
cb.acceptCharset("BAD").contentType("text/p;charset=sjis").build();
                        is = client.doPut(url + "?noTrace=true", new 
StringReader("foo")).getInputStream();
                        r = IOUtils.read(new InputStreamReader(is, "sjis"));
                        if (debug) System.err.println(r);
@@ -69,20 +76,26 @@ public class CharsetEncodingsTest extends RestTestcase {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, "No 
supported charsets in header 'Accept-Charset': 'BAD'");
                }
 
-               client.setAccept("text/s").setHeader("Accept-Charset", 
"utf-8").setContentType("text/p");
+               client.closeQuietly();
+
+               client = 
cb.accept("text/s").acceptCharset("utf-8").contentType("text/p").build();
                is = client.doPut(url+"?Content-Type=text/p", new 
StringReader("foo")).getInputStream();
                r = IOUtils.read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
-               
client.setAccept("text/s").setContentType("text/bad").setHeader("Accept-Charset",
 "utf-8");
+               client.closeQuietly();
+
+               client = 
cb.accept("text/s").contentType("text/bad").acceptCharset("utf-8").build();
                is = client.doPut(url+"?Content-Type=text/p;charset=utf-8", new 
StringReader("foo")).getInputStream();
                r = IOUtils.read(new InputStreamReader(is, "utf-8"));
                if (debug) System.err.println(r);
                assertEquals("utf-8/foo/utf-8", r);
 
+               client.closeQuietly();
+
                try {
-                       
client.setAccept("text/s").setContentType("text/p").setHeader("Accept-Charset", 
"utf-8");
+                       client = 
cb.accept("text/s").contentType("text/p").acceptCharset("utf-8").build();
                        is = 
client.doPut(url+"?Content-Type=text/p;charset=BAD&noTrace=true", new 
StringReader("foo")).getInputStream();
                        r = IOUtils.read(new InputStreamReader(is, "utf-8"));
                        if (debug) System.err.println(r);
@@ -91,6 +104,7 @@ public class CharsetEncodingsTest extends RestTestcase {
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE, 
"Unsupported charset in header 'Content-Type': 'text/p;charset=BAD'");
                }
+
                client.closeQuietly();
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
index 85c168b..3eda27b 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
@@ -14,7 +14,6 @@ package org.apache.juneau.rest.test;
 
 import static org.junit.Assert.*;
 
-import org.apache.juneau.plaintext.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -27,32 +26,26 @@ public class ClientVersionTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testDefaultHeader() throws Exception {
-               RestClient c = new TestRestClient(PlainTextSerializer.class, 
PlainTextParser.class);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
                String url = URL + "/defaultHeader";
 
-               assertEquals("no-version", c.doGet(url).getResponseAsString());
+               assertEquals("no-version", 
client.doGet(url).getResponseAsString());
 
 //             for (String s : "0, 0.0, 0.1, .1, .9, .99".split("\\s*,\\s*")) {
-//                     c.setClientVersion(s);
-//                     assertEquals(s, "[0.0,1.0)", 
c.doGet(url).getResponseAsString());
+//                     assertEquals(s, "[0.0,1.0)", 
client.doGet(url).clientVersion(s).getResponseAsString());
 //             }
 
                for (String s : "1, 1.0, 1.0.0, 1.0.1".split("\\s*,\\s*")) {
-                       c.setClientVersion(s);
-                       assertEquals(s, "[1.0,1.0]", 
c.doGet(url).getResponseAsString());
+                       assertEquals(s, "[1.0,1.0]", 
client.doGet(url).clientVersion(s).getResponseAsString());
                }
 
                for (String s : "1.1, 1.1.1, 1.2, 1.9.9".split("\\s*,\\s*")) {
-                       c.setClientVersion(s);
-                       assertEquals(s, "[1.1,2)", 
c.doGet(url).getResponseAsString());
+                       assertEquals(s, "[1.1,2)", 
client.doGet(url).clientVersion(s).getResponseAsString());
                }
 
                for (String s : "2, 2.0, 2.1, 9, 9.9".split("\\s*,\\s*")) {
-                       c.setClientVersion(s);
-                       assertEquals(s, "2", 
c.doGet(url).getResponseAsString());
+                       assertEquals(s, "2", 
client.doGet(url).clientVersion(s).getResponseAsString());
                }
-
-               c.closeQuietly();
        }
 
        
//====================================================================================================
@@ -60,31 +53,25 @@ public class ClientVersionTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testCustomHeader() throws Exception {
-               RestClient c = new TestRestClient(PlainTextSerializer.class, 
PlainTextParser.class);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
                String url = URL + "/customHeader";
 
-               assertEquals("no-version", c.doGet(url).getResponseAsString());
+               assertEquals("no-version", 
client.doGet(url).getResponseAsString());
 
                for (String s : "0, 0.0, 0.1, .1, .9, .99".split("\\s*,\\s*")) {
-                       c.setHeader("Custom-Client-Version", s);
-                       assertEquals("[0.0,1.0)", 
c.doGet(url).getResponseAsString());
+                       assertEquals("[0.0,1.0)", 
client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
                }
 
                for (String s : "1, 1.0, 1.0.0, 1.0.1".split("\\s*,\\s*")) {
-                       c.setHeader("Custom-Client-Version", s);
-                       assertEquals("[1.0,1.0]", 
c.doGet(url).getResponseAsString());
+                       assertEquals("[1.0,1.0]", 
client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
                }
 
                for (String s : "1.1, 1.1.1, 1.2, 1.9.9".split("\\s*,\\s*")) {
-                       c.setHeader("Custom-Client-Version", s);
-                       assertEquals("[1.1,2)", 
c.doGet(url).getResponseAsString());
+                       assertEquals("[1.1,2)", 
client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
                }
 
                for (String s : "2, 2.0, 2.1, 9, 9.9".split("\\s*,\\s*")) {
-                       c.setHeader("Custom-Client-Version", s);
-                       assertEquals("2", c.doGet(url).getResponseAsString());
+                       assertEquals("2", 
client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
                }
-
-               c.closeQuietly();
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
index 3856466..a0f7b88 100644
--- a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
+++ b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
@@ -16,7 +16,6 @@ import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
 import org.apache.juneau.ini.*;
-import org.apache.juneau.json.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
@@ -30,7 +29,7 @@ public class ConfigTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void test() throws Exception {
-               RestClient c = new TestRestClient(JsonSerializer.class, 
JsonParser.class).setAccept("text/json+simple");
+               RestClient c = 
TestMicroservice.client().accept("text/json+simple").build();
 
                ConfigFile cf = c.doGet(URL).getResponse(ConfigFileImpl.class);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
index 724a3dd..386aad1 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ContentTest.java
@@ -20,7 +20,7 @@ import java.net.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.plaintext.*;
 import org.apache.juneau.rest.client.*;
-import org.apache.juneau.urlencoding.*;
+import org.apache.juneau.uon.*;
 import org.junit.*;
 
 public class ContentTest extends RestTestcase {
@@ -32,7 +32,7 @@ public class ContentTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testUsingContentParam() throws Exception {
-               RestClient c = new 
TestRestClient().setAccept("text/json+simple");
+               RestClient c = 
TestMicroservice.client().accept("text/json+simple").build();
                String r;
 
                //      @RestMethod(name="POST", path="/boolean")
@@ -180,157 +180,8 @@ public class ContentTest extends RestTestcase {
        // Basic tests using &Body parameter with &Accept=text/json
        
//====================================================================================================
        @Test
-       public void testUsingContentParamJsonHeader() throws Exception {
-               RestClient c = new 
TestRestClient().setAccept("text/json+simple").setHeader("Content-Type", 
"text/json");
-               String r;
-
-               //      @RestMethod(name="POST", path="/boolean")
-               //      public boolean testBool(@Body boolean b) {
-               //              return b;
-               //      }
-               r = c.doPost(URL + "/boolean?body=true", 
null).getResponseAsString();
-               assertEquals("true", r);
-               r = c.doPost(URL + "/boolean?body=false", 
null).getResponseAsString();
-               assertEquals("false", r);
-               try {
-                       r = c.doPost(URL + "/boolean?body=null&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-               try {
-                       r = c.doPost(URL + "/boolean?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-
-               //      @RestMethod(name="POST", path="/Boolean")
-               //      public Boolean testBoolean(@Body Boolean b) {
-               //              return b;
-               //      }
-               r = c.doPost(URL + "/Boolean?body=true", 
null).getResponseAsString();
-               assertEquals("true", r);
-               r = c.doPost(URL + "/Boolean?body=false", 
null).getResponseAsString();
-               assertEquals("false", r);
-               r = c.doPost(URL + "/Boolean?body=null", 
null).getResponseAsString();
-               assertEquals("null", r);
-               try {
-                       r = c.doPost(URL + "/Boolean?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-               //      @RestMethod(name="POST", path="/int")
-               //      public int testInt(@Body int i) {
-               //              return i;
-               //      }
-               r = c.doPost(URL + "/int?body=-123", 
null).getResponseAsString();
-               assertEquals("-123", r);
-               try {
-                       r = c.doPost(URL + "/int?body=null&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-               try {
-                       r = c.doPost(URL + "/int?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-               //      @RestMethod(name="POST", path="/Integer")
-               //      public Integer testInteger(@Body Integer i) {
-               //              return i;
-               //      }
-               r = c.doPost(URL + "/Integer?body=-123", 
null).getResponseAsString();
-               assertEquals("-123", r);
-               r = c.doPost(URL + "/Integer?body=null", 
null).getResponseAsString();
-               assertEquals("null", r);
-               try {
-                       r = c.doPost(URL + "/Integer?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-               //      @RestMethod(name="POST", path="/float")
-               //      public float testFloat(@Body float f) {
-               //              return f;
-               //      }
-               r = c.doPost(URL + "/float?body=-1.23", 
null).getResponseAsString();
-               assertEquals("-1.23", r);
-               try {
-                       r = c.doPost(URL + "/float?body=null&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-               try {
-                       r = c.doPost(URL + "/float?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-               //      @RestMethod(name="POST", path="/Float")
-               //      public Float testFloat2(@Body Float f) {
-               //              return f;
-               //      }
-               r = c.doPost(URL + "/Float?body=-1.23", 
null).getResponseAsString();
-               assertEquals("-1.23", r);
-               r = c.doPost(URL + "/Float?body=null", 
null).getResponseAsString();
-               assertEquals("null", r);
-               try {
-                       r = c.doPost(URL + "/Float?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-               //      @RestMethod(name="POST", path="/Map")
-               //      public TreeMap<String,String> testMap(@Body 
TreeMap<String,String> m) {
-               //              return m;
-               //      }
-               r = c.doPost(URL + "/Map?body=" + encode("{a:'b',c:'d'}"), 
null).getResponseAsString();
-               assertEquals("{a:'b',c:'d'}", r);
-               r = c.doPost(URL + "/Map?body=null", 
null).getResponseAsString();
-               assertEquals("null", r);
-               try {
-                       r = c.doPost(URL + "/Map?body=bad&noTrace=true", 
null).getResponseAsString();
-                       fail("Exception expected!");
-               } catch (RestCallException e) {
-                       assertEquals(400, e.getResponseCode());
-               }
-
-               //      @RestMethod(name="POST", path="/B")
-               //      public DTO2s.B testPojo1(@Body DTO2s.B b) {
-               //              return b;
-               //      }
-               DTOs.B b = DTOs.B.create();
-               r = c.doPost(URL + "/B?body=" + 
encode(JsonSerializer.DEFAULT_LAX.serialize(b)), null).getResponseAsString();
-               
assertEquals("{f01:['a','b'],f02:['c','d'],f03:[1,2],f04:[3,4],f05:[['e','f'],['g','h']],f06:[['i','j'],['k','l']],f07:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f08:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f09:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f10:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f11:['a','b'],f12:['c','d'],f13:[1,2],f14:[3,4],f15:[['e','f'],['g','h']],f16:[['i','j'],['k','l']],f17:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f18:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f19:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f20:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]]}",
 r);
-
-               //      @RestMethod(name="POST", path="/C")
-               //      public DTO2s.C testPojo2(@Body DTO2s.C c) {
-               //              return c;
-               //      }
-               DTOs.C x = DTOs.C.create();
-               r = c.doPost(URL + "/C?body=" + 
encode(JsonSerializer.DEFAULT_LAX.serialize(x)), null).getResponseAsString();
-               
assertEquals("{f01:['a','b'],f02:['c','d'],f03:[1,2],f04:[3,4],f05:[['e','f'],['g','h']],f06:[['i','j'],['k','l']],f07:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f08:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f09:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f10:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f11:['a','b'],f12:['c','d'],f13:[1,2],f14:[3,4],f15:[['e','f'],['g','h']],f16:[['i','j'],['k','l']],f17:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f18:[{a:'a',b:1,c:true},{a:'a',b:1,c:true}],f19:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]],f20:[[{a:'a',b:1,c:true}],[{a:'a',b:1,c:true}]]}",
 r);
-
-               c.closeQuietly();
-       }
-
-       
//====================================================================================================
-       // Basic tests using &Body parameter with &Accept=text/json
-       
//====================================================================================================
-       @Test
        public void testUsingContentParamJsonParam() throws Exception {
-               RestClient c = new 
TestRestClient().setAccept("text/json+simple");
+               RestClient c = 
TestMicroservice.client().accept("text/json+simple").build();
                String r;
 
                //      @RestMethod(name="POST", path="/boolean")
@@ -479,7 +330,7 @@ public class ContentTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testUsingContent() throws Exception {
-               RestClient c = new 
TestRestClient().setAccept("text/json+simple").setHeader("Content-Type", 
"text/uon").setSerializer(PlainTextSerializer.class);
+               RestClient c = 
TestMicroservice.client().accept("text/json+simple").contentType("text/uon").serializer(PlainTextSerializer.class).build();
                String r;
 
                //      @RestMethod(name="POST", path="/boolean")

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/DefaultContentTypesTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/DefaultContentTypesTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/DefaultContentTypesTest.java
index aa662d8..99a7c9b 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/DefaultContentTypesTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/DefaultContentTypesTest.java
@@ -16,7 +16,6 @@ import static javax.servlet.http.HttpServletResponse.*;
 import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
-import org.apache.juneau.json.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -31,42 +30,34 @@ public class DefaultContentTypesTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testDefaultHeadersOnServletAnnotation() throws Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String r;
 
                String url = URL + "/testDefaultHeadersOnServletAnnotation";
 
-               client.setAccept("").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("text/s1").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1").contentType("").getResponseAsString();
                assertEquals("s1/p2", r);
 
-               client.setAccept("").setContentType("text/p1");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p1").getResponseAsString();
                assertEquals("s2/p1", r);
 
-               client.setAccept("text/s1").setContentType("text/p1");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1").contentType("text/p1").getResponseAsString();
                assertEquals("s1/p1", r);
 
-               client.setAccept("text/s2").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s2").contentType("").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("").setContentType("text/p2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p2").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("text/s2").setContentType("text/p2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s2").contentType("text/p2").getResponseAsString();
                assertEquals("s2/p2", r);
 
                try {
-                       client.setAccept("text/s3").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s3").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -76,8 +67,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("").setContentType("text/p3");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p3").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -87,8 +77,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s3").setContentType("text/p3");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s3").contentType("text/p3").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -96,8 +85,6 @@ public class DefaultContentTypesTest extends RestTestcase {
                                "Supported media-types: [text/p1, text/p2]"
                        );
                }
-
-               client.closeQuietly();
        }
 
        
//====================================================================================================
@@ -106,14 +93,13 @@ public class DefaultContentTypesTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testRestMethodParsersSerializers() throws Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String r;
 
                String url = URL + "/testRestMethodParsersSerializers";
 
                try {
-                       client.setAccept("").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -123,8 +109,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s1").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s1").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -134,8 +119,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("").setContentType("text/p1");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p1").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -145,8 +129,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s1").setContentType("text/p1");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s1").contentType("text/p1").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -156,8 +139,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s2").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s2").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -167,8 +149,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("").setContentType("text/p2");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p2").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -178,8 +159,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s2").setContentType("text/p2");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s2").contentType("text/p2").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -189,8 +169,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s3").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s3").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -200,8 +179,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("").setContentType("text/p3");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p3").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -210,11 +188,8 @@ public class DefaultContentTypesTest extends RestTestcase {
                        );
                }
 
-               client.setAccept("text/s3").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("text/p3").getResponseAsString();
                assertEquals("s3/p3", r);
-
-               client.closeQuietly();
        }
 
        
//====================================================================================================
@@ -223,54 +198,43 @@ public class DefaultContentTypesTest extends RestTestcase 
{
        
//====================================================================================================
        @Test
        public void testRestMethodAddParsersSerializers() throws Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String r;
 
                String url = URL + "/testRestMethodAddParsersSerializers";
 
-               client.setAccept("").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("text/s1").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1").contentType("").getResponseAsString();
                assertEquals("s1/p2", r);
 
-               client.setAccept("").setContentType("text/p1");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p1").getResponseAsString();
                assertEquals("s2/p1", r);
 
-               client.setAccept("text/s1").setContentType("text/p1");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1").contentType("text/p1").getResponseAsString();
                assertEquals("s1/p1", r);
 
-               client.setAccept("text/s2").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s2").contentType("").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("").setContentType("text/p2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p2").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("text/s2").setContentType("text/p2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s2").contentType("text/p2").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("text/s3").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("").getResponseAsString();
                assertEquals("s3/p2", r);
 
-               client.setAccept("").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p3").getResponseAsString();
                assertEquals("s2/p3", r);
 
-               client.setAccept("text/s3").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("text/p3").getResponseAsString();
                assertEquals("s3/p3", r);
 
                try {
-                       client.setAccept("").setContentType("text/p4");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p4").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        // Note that parsers defined on method are listed 
before parsers defined on class.
@@ -281,8 +245,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s4").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s4").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        // Note that serializers defined on method are listed 
before serializers defined on class.
@@ -291,8 +254,6 @@ public class DefaultContentTypesTest extends RestTestcase {
                                "Supported media-types: [text/s3, text/s1, 
text/s2]"
                        );
                }
-
-               client.closeQuietly();
        }
 
        
//====================================================================================================
@@ -300,24 +261,21 @@ public class DefaultContentTypesTest extends RestTestcase 
{
        
//====================================================================================================
        @Test
        public void testAccept() throws Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT).setContentType("text/p1");
+               RestClient client = 
TestMicroservice.client().contentType("text/p1").build();
                String r;
 
                String url = URL + "/testAccept";
 
                // "*/*" should match the first serializer, not the default 
serializer.
-               client.setAccept("*/*");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, "").accept("*/*").getResponseAsString();
                assertEquals("s1/p1", r);
 
                // "text/*" should match the first serializer, not the default 
serializer.
-               client.setAccept("text/*");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/*").getResponseAsString();
                assertEquals("s1/p1", r);
 
                try {
-                       client.setAccept("bad/*");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("bad/*").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -326,20 +284,16 @@ public class DefaultContentTypesTest extends RestTestcase 
{
                        );
                }
 
-               client.setAccept("bad/*,text/*");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("bad/*,text/*").getResponseAsString();
                assertEquals("s1/p1", r);
 
-               client.setAccept("text/*,bad/*");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/*,bad/*").getResponseAsString();
                assertEquals("s1/p1", r);
 
-               client.setAccept("text/s1;q=0.5,text/s2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1;q=0.5,text/s2").getResponseAsString();
                assertEquals("s2/p1", r);
 
-               client.setAccept("text/s1,text/s2;q=0.5");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1,text/s2;q=0.5").getResponseAsString();
                assertEquals("s1/p1", r);
 
                client.closeQuietly();
@@ -351,18 +305,16 @@ public class DefaultContentTypesTest extends RestTestcase 
{
        
//====================================================================================================
        @Test
        public void testRestMethodParserSerializerAnnotations() throws 
Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String r;
 
                String url = URL + "/testRestMethodParserSerializerAnnotations";
 
-               client.setAccept("").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("").getResponseAsString();
                assertEquals("s3/p3", r);
 
                try {
-                       client.setAccept("text/s1").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s1").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -372,8 +324,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("").setContentType("text/p1");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p1").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -383,8 +334,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s1").setContentType("text/p1");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s1").contentType("text/p1").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -394,8 +344,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s2").setContentType("");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s2").contentType("").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -405,8 +354,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("").setContentType("text/p2");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("").contentType("text/p2").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -416,8 +364,7 @@ public class DefaultContentTypesTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s2").setContentType("text/p2");
-                       r = client.doPut(url+"?noTrace=true", 
"").getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", 
"").accept("text/s2").contentType("text/p2").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -426,19 +373,14 @@ public class DefaultContentTypesTest extends RestTestcase 
{
                        );
                }
 
-               client.setAccept("text/s3").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("").getResponseAsString();
                assertEquals("s3/p3", r);
 
-               client.setAccept("").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p3").getResponseAsString();
                assertEquals("s3/p3", r);
 
-               client.setAccept("text/s3").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("text/p3").getResponseAsString();
                assertEquals("s3/p3", r);
-
-               client.closeQuietly();
        }
 
        
//====================================================================================================
@@ -447,51 +389,39 @@ public class DefaultContentTypesTest extends RestTestcase 
{
        
//====================================================================================================
        @Test
        public void testRestMethodAddParsersSerializersAnnotations() throws 
Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String r;
 
                String url = URL + 
"/testRestMethodAddParsersSerializersAnnotations";
 
-               client.setAccept("").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("").getResponseAsString();
                assertEquals("s3/p3", r);
 
-               client.setAccept("text/s1").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1").contentType("").getResponseAsString();
                assertEquals("s1/p3", r);
 
-               client.setAccept("").setContentType("text/p1");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p1").getResponseAsString();
                assertEquals("s3/p1", r);
 
-               client.setAccept("text/s1").setContentType("text/p1");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s1").contentType("text/p1").getResponseAsString();
                assertEquals("s1/p1", r);
 
-               client.setAccept("text/s2").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s2").contentType("").getResponseAsString();
                assertEquals("s2/p3", r);
 
-               client.setAccept("").setContentType("text/p2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p2").getResponseAsString();
                assertEquals("s3/p2", r);
 
-               client.setAccept("text/s2").setContentType("text/p2");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s2").contentType("text/p2").getResponseAsString();
                assertEquals("s2/p2", r);
 
-               client.setAccept("text/s3").setContentType("");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("").getResponseAsString();
                assertEquals("s3/p3", r);
 
-               client.setAccept("").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("").contentType("text/p3").getResponseAsString();
                assertEquals("s3/p3", r);
 
-               client.setAccept("text/s3").setContentType("text/p3");
-               r = client.doPut(url, "").getResponseAsString();
+               r = client.doPut(url, 
"").accept("text/s3").contentType("text/p3").getResponseAsString();
                assertEquals("s3/p3", r);
-
-               client.closeQuietly();
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ErrorConditionsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ErrorConditionsTest.java
 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ErrorConditionsTest.java
index 7a6f7ce..eb46760 100644
--- 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ErrorConditionsTest.java
+++ 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/ErrorConditionsTest.java
@@ -17,7 +17,6 @@ import static org.apache.juneau.rest.test.TestUtils.*;
 import static org.junit.Assert.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.json.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -26,17 +25,9 @@ public class ErrorConditionsTest extends RestTestcase {
 
        private static String URL = "/testErrorConditions";
        private static boolean debug = false;
-       private static RestClient client;
+       private RestClient client = TestMicroservice.DEFAULT_CLIENT;
 
-       @BeforeClass
-       public static void beforeClass() {
-                client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
-       }
 
-       @AfterClass
-       public static void afterClass() {
-                client.closeQuietly();
-       }
        
//====================================================================================================
        // Test non-existent properties
        
//====================================================================================================
@@ -163,7 +154,7 @@ public class ErrorConditionsTest extends RestTestcase {
                }
 
                try {
-                       client.doPut(url + "/1?noTrace=true&p1=1", 
"").setHeader("h1", "foo").getResponseAsString();
+                       client.doPut(url + "/1?noTrace=true&p1=1", 
"").header("h1", "foo").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_BAD_REQUEST,

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GroupsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GroupsTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GroupsTest.java
index ad0d052..0429449 100644
--- a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GroupsTest.java
+++ b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GroupsTest.java
@@ -18,7 +18,6 @@ import static org.junit.Assert.*;
 
 import java.io.*;
 
-import org.apache.juneau.json.*;
 import org.apache.juneau.rest.client.*;
 import org.junit.*;
 
@@ -33,13 +32,12 @@ public class GroupsTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testSerializerDefinedOnClass() throws Exception {
-               RestClient client = new TestRestClient(JsonSerializer.DEFAULT, 
JsonParser.DEFAULT);
+               RestClient client = TestMicroservice.DEFAULT_CLIENT;
                String url = URL + "/testSerializerDefinedOnClass";
                String r;
 
                try {
-                       client.setContentType("text/p1");
-                       r = 
client.doGet(url+"?noTrace=true").getResponseAsString();
+                       r = 
client.doGet(url+"?noTrace=true").contentType("text/p1").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -48,17 +46,14 @@ public class GroupsTest extends RestTestcase {
                        );
                }
 
-               client.setAccept("text/s1").setContentType("");
-               r = client.doGet(url).getResponseAsString();
+               r = 
client.doGet(url).accept("text/s1").contentType("").getResponseAsString();
                assertEquals("text/s,GET", r);
 
-               client.setAccept("text/s2").setContentType("");
-               r = client.doGet(url).getResponseAsString();
+               r = 
client.doGet(url).accept("text/s2").contentType("").getResponseAsString();
                assertEquals("text/s,GET", r);
 
                try {
-                       client.setAccept("text/s3").setContentType("");
-                       r = 
client.doGet(url+"?noTrace=true").getResponseAsString();
+                       r = 
client.doGet(url+"?noTrace=true").accept("text/s3").contentType("").getResponseAsString();
                        assertEquals("text/s,GET", r);
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -68,8 +63,7 @@ public class GroupsTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/json").setContentType("text/p1");
-                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).accept("text/json").contentType("text/p1").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -79,8 +73,7 @@ public class GroupsTest extends RestTestcase {
                }
 
                try {
-                       client.setAccept("text/s1").setContentType("text/json");
-                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).accept("text/s1").contentType("text/json").getResponseAsString();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -89,17 +82,14 @@ public class GroupsTest extends RestTestcase {
                        );
                }
 
-               client.setContentType("text/p1").setAccept("text/s1");
-               r = client.doPut(url, new 
StringReader("foo")).getResponseAsString();
+               r = client.doPut(url, new 
StringReader("foo")).contentType("text/p1").accept("text/s1").getResponseAsString();
                assertEquals("text/s,foo", r);
 
-               client.setContentType("text/p2").setAccept("text/s2");
-               r = client.doPut(url, new 
StringReader("foo")).getResponseAsString();
+               r = client.doPut(url, new 
StringReader("foo")).contentType("text/p2").accept("text/s2").getResponseAsString();
                assertEquals("text/s,foo", r);
 
                try {
-                       client.setContentType("text/p1").setAccept("text/s3");
-                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).contentType("text/p1").accept("text/s3").getResponseAsString();
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
                                "Unsupported media-type in request header 
'Accept': 'text/s3'",
@@ -108,15 +98,12 @@ public class GroupsTest extends RestTestcase {
                }
 
                try {
-                       client.setContentType("text/p3").setAccept("text/s1");
-                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).getResponseAsString();
+                       r = client.doPut(url+"?noTrace=true", new 
StringReader("foo")).contentType("text/p3").accept("text/s1").getResponseAsString();
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
                                "Unsupported media-type in request header 
'Content-Type': 'text/p3'",
                                "Supported media-types: [text/p1, text/p2]"
                        );
                }
-
-               client.closeQuietly();
        }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java 
b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
index 4869b64..6ce05c3 100644
--- a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
+++ b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/GzipTest.java
@@ -56,7 +56,7 @@ public class GzipTest extends RestTestcase {
        
//====================================================================================================
        @Test
        public void testGzipOff() throws Exception {
-               RestClient c = new 
TestRestClient().setAccept("text/plain").setContentType("text/plain");
+               RestClient c = 
TestMicroservice.client().accept("text/plain").contentType("text/plain").build();
                RestCall r;
                String url = testGzipOff;
 
@@ -65,22 +65,22 @@ public class GzipTest extends RestTestcase {
                r = c.doGet(url);
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doGet(url).setHeader("Accept-Encoding", "");
+               r = c.doGet(url).acceptEncoding("");
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doGet(url).setHeader("Accept-Encoding", "*");
+               r = c.doGet(url).acceptEncoding("*");
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doGet(url).setHeader("Accept-Encoding", "identity");
+               r = c.doGet(url).acceptEncoding("identity");
                assertEquals("foo", r.getResponseAsString());
 
                // Should match identity.
-               r = c.doGet(url).setHeader("Accept-Encoding", "mycoding");
+               r = c.doGet(url).acceptEncoding("mycoding");
                assertEquals("foo", r.getResponseAsString());
 
                // Shouldn't match.
                try {
-                       r = 
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", 
"mycoding,identity;q=0").connect();
+                       r = 
c.doGet(url+"?noTrace=true").acceptEncoding("mycoding,identity;q=0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -91,7 +91,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match.
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", 
"mycoding,*;q=0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("mycoding,*;q=0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -101,24 +101,24 @@ public class GzipTest extends RestTestcase {
                }
 
                // Should match identity
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"identity;q=0.8,mycoding;q=0.6");
+               r = 
c.doGet(url).acceptEncoding("identity;q=0.8,mycoding;q=0.6");
                assertEquals("foo", r.getResponseAsString());
 
                // Should match identity
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"mycoding;q=0.8,identity;q=0.6");
+               r = 
c.doGet(url).acceptEncoding("mycoding;q=0.8,identity;q=0.6");
                assertEquals("foo", r.getResponseAsString());
 
                // Should match identity
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"mycoding;q=0.8,*;q=0.6");
+               r = c.doGet(url).acceptEncoding("mycoding;q=0.8,*;q=0.6");
                assertEquals("foo", r.getResponseAsString());
 
                // Should match identity
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"*;q=0.8,myencoding;q=0.6");
+               r = c.doGet(url).acceptEncoding("*;q=0.8,myencoding;q=0.6");
                assertEquals("foo", r.getResponseAsString());
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", 
"identity;q=0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("identity;q=0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -129,7 +129,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", 
"identity;q=0.0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("identity;q=0.0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -140,7 +140,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", "*;q=0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("*;q=0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -151,7 +151,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", "*;q=0.0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("*;q=0.0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -166,14 +166,14 @@ public class GzipTest extends RestTestcase {
                r = c.doPut(url, new StringReader("foo"));
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doPut(url, new 
StringReader("foo")).setHeader("Content-Encoding", "");
+               r = c.doPut(url, new 
StringReader("foo")).header("Content-Encoding", "");
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doPut(url, new 
StringReader("foo")).setHeader("Content-Encoding", "identity");
+               r = c.doPut(url, new 
StringReader("foo")).header("Content-Encoding", "identity");
                assertEquals("foo", r.getResponseAsString());
 
                try {
-                       c.doPut(url+"?noTrace=true", 
compress("foo")).setHeader("Content-Encoding", "mycoding").connect();
+                       c.doPut(url+"?noTrace=true", 
compress("foo")).header("Content-Encoding", "mycoding").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE,
@@ -192,9 +192,9 @@ public class GzipTest extends RestTestcase {
        public void testGzipOn() throws Exception {
 
                // Create a client that disables content compression support so 
that we can get the gzipped content directly.
-               CloseableHttpClient httpClient = 
HttpClients.custom().setSSLSocketFactory(TestRestClient.getSSLSocketFactory()).disableContentCompression().build();
+               CloseableHttpClient httpClient = 
HttpClients.custom().setSSLSocketFactory(TestMicroservice.getSSLSocketFactory()).disableContentCompression().build();
 
-               RestClient c = new 
TestRestClient(httpClient).setAccept("text/plain").setContentType("text/plain");
+               RestClient c = TestMicroservice.client().httpClient(httpClient, 
false).accept("text/plain").contentType("text/plain").build();
                RestCall r;
                String url = testGzipOn;
 
@@ -203,44 +203,44 @@ public class GzipTest extends RestTestcase {
                r = c.doGet(url);
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doGet(url).setHeader("Accept-Encoding", "");
+               r = c.doGet(url).acceptEncoding("");
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doGet(url).setHeader("Accept-Encoding", "*");
+               r = c.doGet(url).acceptEncoding("*");
                assertEquals("foo", decompress(r.getInputStream()));
 
-               r = c.doGet(url).setHeader("Accept-Encoding", "identity");
+               r = c.doGet(url).acceptEncoding("identity");
                assertEquals("foo", r.getResponseAsString());
 
                // Should match identity.
-               r = c.doGet(url).setHeader("Accept-Encoding", "mycoding");
+               r = c.doGet(url).acceptEncoding("mycoding");
                assertEquals("foo", decompress(r.getInputStream()));
 
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"mycoding,identity;q=0").connect();
+               r = 
c.doGet(url).acceptEncoding("mycoding,identity;q=0").connect();
                assertEquals("foo", decompress(r.getInputStream()));
 
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"mycoding,*;q=0").connect();
+               r = c.doGet(url).acceptEncoding("mycoding,*;q=0").connect();
                assertEquals("foo", decompress(r.getInputStream()));
 
                // Should match identity
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"identity;q=0.8,mycoding;q=0.6");
+               r = 
c.doGet(url).acceptEncoding("identity;q=0.8,mycoding;q=0.6");
                assertEquals("foo", r.getResponseAsString());
 
                // Should match mycoding
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"mycoding;q=0.8,identity;q=0.6");
+               r = 
c.doGet(url).acceptEncoding("mycoding;q=0.8,identity;q=0.6");
                assertEquals("foo", decompress(r.getInputStream()));
 
                // Should match mycoding
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"mycoding;q=0.8,*;q=0.6");
+               r = c.doGet(url).acceptEncoding("mycoding;q=0.8,*;q=0.6");
                assertEquals("foo", decompress(r.getInputStream()));
 
                // Should match identity
-               r = c.doGet(url).setHeader("Accept-Encoding", 
"*;q=0.8,myencoding;q=0.6");
+               r = c.doGet(url).acceptEncoding("*;q=0.8,myencoding;q=0.6");
                assertEquals("foo", r.getResponseAsString());
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", 
"identity;q=0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("identity;q=0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -251,7 +251,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", 
"identity;q=0.0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("identity;q=0.0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -262,7 +262,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", "*;q=0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("*;q=0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -273,7 +273,7 @@ public class GzipTest extends RestTestcase {
 
                // Shouldn't match
                try {
-                       
c.doGet(url+"?noTrace=true").setHeader("Accept-Encoding", "*;q=0.0").connect();
+                       
c.doGet(url+"?noTrace=true").acceptEncoding("*;q=0.0").connect();
                        fail("Exception expected");
                } catch (RestCallException e) {
                        checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE,
@@ -288,16 +288,16 @@ public class GzipTest extends RestTestcase {
                r = c.doPut(url, new StringReader("foo"));
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doPut(url, new 
StringReader("foo")).setHeader("Content-Encoding", "");
+               r = c.doPut(url, new 
StringReader("foo")).header("Content-Encoding", "");
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doPut(url, new 
StringReader("foo")).setHeader("Content-Encoding", "identity");
+               r = c.doPut(url, new 
StringReader("foo")).header("Content-Encoding", "identity");
                assertEquals("foo", r.getResponseAsString());
 
-               r = c.doPut(url, compress("foo")).setHeader("Content-Encoding", 
"mycoding");
+               r = c.doPut(url, compress("foo")).header("Content-Encoding", 
"mycoding");
                assertEquals("foo", r.getResponseAsString());
 
-               c.closeQuietly();
+               c.closeQuietly(); // We want to close our client because we 
created the HttpClient in this method.
        }
 
        
//====================================================================================================
@@ -306,26 +306,26 @@ public class GzipTest extends RestTestcase {
        @Test
        public void testGzipOnDirect() throws Exception {
                // Create a client that disables content compression support so 
that we can get the gzipped content directly.
-               CloseableHttpClient httpClient = 
HttpClientBuilder.create().setSSLSocketFactory(TestRestClient.getSSLSocketFactory()).build();
-               RestClient c = new 
TestRestClient(httpClient).setAccept("text/plain").setContentType("text/plain");
+               CloseableHttpClient httpClient = 
HttpClientBuilder.create().setSSLSocketFactory(TestMicroservice.getSSLSocketFactory()).build();
+               RestClient c = TestMicroservice.client().httpClient(httpClient, 
false).accept("text/plain").contentType("text/plain").build();
                RestCall r = null;
                String s = null;
 
                // res.getOutputStream() called....should bypass encoding.
-               r = c.doGet(testGzipOn + 
"/direct").setHeader("Accept-Encoding", "mycoding");
+               r = c.doGet(testGzipOn + "/direct").acceptEncoding("mycoding");
                s = r.getResponseAsString();
                assertEquals("test", s);
                
assertTrue(r.getResponse().getHeaders("Content-Type")[0].getValue().contains("text/direct"));
 // Should get header set manually.
                assertEquals(0, 
r.getResponse().getHeaders("Content-Encoding").length);                // 
Should not be set.
 
                // res.getWriter() called....should bypass encoding.
-               r = c.doGet(testGzipOn + 
"/direct2").setHeader("Accept-Encoding", "mycoding");
+               r = c.doGet(testGzipOn + "/direct2").acceptEncoding("mycoding");
                s = r.getResponseAsString();
                assertEquals("test", s);
                assertEquals(0, 
r.getResponse().getHeaders("Content-Encoding").length);                // 
Should not be set.
 
                // res.getNegotiateWriter() called....should NOT bypass 
encoding.
-               r = c.doGet(testGzipOn + 
"/direct3").setHeader("Accept-Encoding", "mycoding");
+               r = c.doGet(testGzipOn + "/direct3").acceptEncoding("mycoding");
                try {
                        assertEquals("mycoding", 
r.getResponse().getHeaders("content-encoding")[0].getValue());
                } catch (RestCallException e) {
@@ -334,11 +334,11 @@ public class GzipTest extends RestTestcase {
                }
 
                // res.getNegotiateWriter() called but 
@RestMethod(encoders={})...should bypass encoding.
-               r = c.doGet(testGzipOn + 
"/direct4").setHeader("Accept-Encoding", "mycoding");
+               r = c.doGet(testGzipOn + "/direct4").acceptEncoding("mycoding");
                s = r.getResponseAsString();
                assertEquals("test", s);
                assertEquals(0, 
r.getResponse().getHeaders("Content-Encoding").length);                // 
Should not be set.
 
-               c.closeQuietly();
+               c.closeQuietly(); // We want to close our client because we 
created the HttpClient in this method.
        }
 }

Reply via email to