diff --git a/pom.xml b/pom.xml
index 31ce75c..0da54c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
https://github.com/smartrics/RestFixtureLiveDoc
UTF-8
- 4.4
+ 4.5-SNAPSHOT
diff --git a/src/main/java/smartrics/rest/test/fitnesse/drivers/ClientDriver.java b/src/main/java/smartrics/rest/test/fitnesse/drivers/ClientDriver.java
index 31b2973..f6a2245 100644
--- a/src/main/java/smartrics/rest/test/fitnesse/drivers/ClientDriver.java
+++ b/src/main/java/smartrics/rest/test/fitnesse/drivers/ClientDriver.java
@@ -20,14 +20,16 @@
*/
package smartrics.rest.test.fitnesse.drivers;
-import org.apache.commons.httpclient.HttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
import smartrics.rest.client.RestClient;
import smartrics.rest.client.RestClientImpl;
import smartrics.rest.client.RestRequest;
import smartrics.rest.client.RestRequest.Method;
import smartrics.rest.client.RestResponse;
+import java.util.concurrent.TimeUnit;
+
public class ClientDriver {
public static void main(String[] args) {
@@ -35,7 +37,7 @@ public static void main(String[] args) {
}
public static void postForm(String[] args) {
- RestClient c = new RestClientImpl(new HttpClient());
+ RestClient c = buildRestClient();
RestRequest req = new RestRequest();
req.setBody("name=n&data=d1");
req.setResource("/resources/");
@@ -45,8 +47,13 @@ public static void postForm(String[] args) {
System.out.println("=======>\n" + res + "\n<=======");
}
+ private static RestClientImpl buildRestClient() {
+ return new RestClientImpl(HttpClientBuilder.create()
+ .setConnectionTimeToLive(60, TimeUnit.MILLISECONDS).build());
+ }
+
public static void postXml(String[] args) {
- RestClient c = new RestClientImpl(new HttpClient());
+ RestClient c = buildRestClient();
RestRequest req = new RestRequest();
req.setBody("nd1");
diff --git a/src/main/java/smartrics/rest/test/fitnesse/fixture/StubsServlet.java b/src/main/java/smartrics/rest/test/fitnesse/fixture/StubsServlet.java
index 4d4fdbf..123e8e3 100644
--- a/src/main/java/smartrics/rest/test/fitnesse/fixture/StubsServlet.java
+++ b/src/main/java/smartrics/rest/test/fitnesse/fixture/StubsServlet.java
@@ -22,9 +22,12 @@
import static smartrics.rest.test.fitnesse.fixture.ServletUtils.sanitiseUri;
+import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.nio.charset.Charset;
+import java.util.Enumeration;
import java.util.List;
import javax.servlet.ServletException;
@@ -32,9 +35,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpParser;
-
import smartrics.rest.client.RestResponse;
public class StubsServlet extends HttpServlet {
@@ -55,18 +55,19 @@ protected void service(HttpServletRequest req, HttpServletResponse resp)
if (method.equals("POST") && uri.endsWith("/responses")) {
nextResponse = new RestResponse();
InputStream is = req.getInputStream();
- String line = HttpParser.readLine(is, Charset.defaultCharset()
- .name());
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is, Charset.defaultCharset()));
+ String line = reader.readLine();
String[] incipit = line.split(" ");
nextResponse.setStatusCode(Integer.valueOf(incipit[0]));
- Header[] headers = HttpParser.parseHeaders(is, Charset
- .defaultCharset().name());
- for (Header h : headers) {
- nextResponse.addHeader(h.getName(), h.getValue());
+
+ Enumeration headerNames = req.getHeaderNames();
+ while (headerNames.hasMoreElements()) {
+ String headerName = headerNames.nextElement();
+ nextResponse.addHeader(headerName, req.getHeader(headerName));
}
- line = HttpParser.readLine(is, Charset.defaultCharset().name());
+ line = reader.readLine();
while (line.trim().length() < 1) {
- line = HttpParser.readLine(is, Charset.defaultCharset().name());
+ line = reader.readLine();
}
// check content length and decide how much body you need to parse
List cl = nextResponse