From b4a865dedd7b330b26ffa06660b4dbd682c81042 Mon Sep 17 00:00:00 2001 From: jinyu Date: Mon, 9 Nov 2015 15:58:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DHttpClient3=E4=B8=8BSocket=20?= =?UTF-8?q?isClosed=20=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin4j/http/factory/HttpComponent3.java | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java index 721b5ad7..f4e16acc 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/http/factory/HttpComponent3.java @@ -7,10 +7,8 @@ import java.net.InetSocketAddress; import java.net.Proxy; import java.net.Socket; import java.net.UnknownHostException; -import java.util.HashMap; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Map.Entry; import javax.net.ssl.SSLContext; @@ -58,17 +56,27 @@ public class HttpComponent3 extends AbstractHttpClient { private final org.apache.commons.httpclient.HttpClient httpClient; - private final Map methodMap; - public HttpComponent3(org.apache.commons.httpclient.HttpClient httpClient) { this.httpClient = httpClient; - this.methodMap = new HashMap(); - methodMap.put(HttpMethod.GET, new GetMethod()); - methodMap.put(HttpMethod.HEAD, new HeadMethod()); - methodMap.put(HttpMethod.POST, new PostMethod()); - methodMap.put(HttpMethod.PUT, new PutMethod()); - methodMap.put(HttpMethod.DELETE, new DeleteMethod()); - methodMap.put(HttpMethod.OPTIONS, new OptionsMethod()); + } + + private org.apache.commons.httpclient.HttpMethod method2method( + HttpMethod method) { + if (method == HttpMethod.GET) { + return new GetMethod(); + } else if (method == HttpMethod.HEAD) { + return new HeadMethod(); + } else if (method == HttpMethod.POST) { + return new PostMethod(); + } else if (method == HttpMethod.PUT) { + return new PutMethod(); + } else if (method == HttpMethod.DELETE) { + return new DeleteMethod(); + } else if (method == HttpMethod.OPTIONS) { + return new OptionsMethod(); + } else { + return null; + } } @Override @@ -77,8 +85,8 @@ public class HttpComponent3 extends AbstractHttpClient { try { URI uri = new URI(request.getURI().toString(), false, Consts.UTF_8.name()); - org.apache.commons.httpclient.HttpMethod httpMethod = methodMap - .get(request.getMethod()); + org.apache.commons.httpclient.HttpMethod httpMethod = method2method(request + .getMethod()); if (request.getMethod() == HttpMethod.TRACE) { httpMethod = new TraceMethod(uri.getEscapedURI()); } else {