Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
7553130
weixin-java-tools usage jodd-http
Apr 18, 2017
30cdad5
weixin-java-tools pay usage jodd-http
Apr 18, 2017
0e6113b
格式化代码
Apr 19, 2017
897e139
jodd
Apr 20, 2017
d476047
mp usage jodd-http
Apr 21, 2017
0b0b5a9
common usage jodd-http
Apr 21, 2017
5726ca9
cp usage jodd-http
Apr 21, 2017
76330ef
装饰模式实现
Apr 22, 2017
9ac1aad
装饰模式实现
Apr 22, 2017
b03cb4b
添加了注释
Apr 22, 2017
fe61393
少提交一个
Apr 22, 2017
2019115
gradle配置信息
Apr 22, 2017
dbf0a15
weixin-java-parent pom.xml添加jodd-http
Apr 24, 2017
49f9787
1、提取了公共代码,添加AbstractWxMPService、AbstractWxCPService类
Apr 27, 2017
ffa3544
1、提取了公共代码,添加AbstractWxMPService、AbstractWxCPService类
Apr 27, 2017
44cbf65
Merge branch 'develop' into develop
crskyp Apr 27, 2017
d01d372
修改了冲突和错误
Apr 27, 2017
f42b22f
WxCpService添加getWxMpConfigStorage方法,同时修改相关位置
Apr 27, 2017
57e1f09
WxCpService的getWxMpConfigStorage方法修改为getWxCpConfigStorage
Apr 27, 2017
4f900f8
添加httpType枚举
Apr 29, 2017
a8dfccc
Merge branch 'develop' of https://github.com/Wechat-Group/weixin-java…
Apr 29, 2017
2384b4b
添加枚举HttpType
May 3, 2017
6b7c86d
添加枚举HttpType
May 3, 2017
59fc913
okhttp使用方式有错误,body().toString()修改为body().string()
May 4, 2017
aa4c076
1、删除AbstractWxMpService、AbstractWxCPService类
May 4, 2017
26d68cd
RequestExecutor实例修改为通过create方法构建,解决了必须同时引入apache-http、jodd-http、okhtt…
May 6, 2017
adcff4e
pom添developer
May 8, 2017
fcf3dbc
Merge remote-tracking branch 'wechat/develop' into develop
May 8, 2017
3757606
Merge remote-tracking branch 'remotes/wechat/develop' into develop
May 19, 2017
16dea38
修改两个文件
May 19, 2017
7f91ba2
jodd response 编码设置为UTF-8
Jun 3, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.fs.FileUtils;
Expand Down Expand Up @@ -44,6 +46,8 @@ public File execute(String uri, String queryParam) throws WxErrorException, IOEx
request.withConnectionProvider(requestHttp.getRequestHttpClient());

HttpResponse response = request.send();
response.charset(StringPool.UTF_8);

String contentType = response.header("Content-Type");
if (contentType != null && contentType.startsWith("application/json")) {
// application/json; encoding=utf-8 下载媒体文件出错
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.bean.result.WxMediaUploadResult;
import me.chanjar.weixin.common.exception.WxErrorException;
Expand All @@ -30,6 +32,8 @@ public WxMediaUploadResult execute(String uri, File file) throws WxErrorExceptio
request.withConnectionProvider(requestHttp.getRequestHttpClient());
request.form("media", file);
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);

String responseContent = response.bodyText();
WxError error = WxError.fromJson(responseContent);
if (error.getErrorCode() != 0) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package me.chanjar.weixin.common.util.http.jodd;

import jodd.http.HttpConnectionProvider;
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.http.*;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand Down Expand Up @@ -35,7 +34,10 @@ public String execute(String uri, String queryParam) throws WxErrorException, IO
}
request.withConnectionProvider(requestHttp.getRequestHttpClient());
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);

String responseContent = response.bodyText();

WxError error = WxError.fromJson(responseContent);
if (error.getErrorCode() != 0) {
throw new WxErrorException(error);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand Down Expand Up @@ -34,6 +36,7 @@ public String execute(String uri, String postEntity) throws WxErrorException, IO
request.bodyText(postEntity);
}
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);

String responseContent = response.bodyText();
if (responseContent.isEmpty()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@
package me.chanjar.weixin.mp.util.http;

import me.chanjar.weixin.common.util.http.RequestExecutor;
import me.chanjar.weixin.common.util.http.RequestHttp;
import me.chanjar.weixin.mp.bean.material.WxMpMaterialVideoInfoResult;
import me.chanjar.weixin.mp.util.http.apache.ApacheMaterialVideoInfoRequestExecutor;
import me.chanjar.weixin.mp.util.http.jodd.JoddMaterialVideoInfoRequestExecutor;
import me.chanjar.weixin.mp.util.http.okhttp.OkhttpMaterialVideoInfoRequestExecutor;

import me.chanjar.weixin.common.util.http.RequestExecutor;
import me.chanjar.weixin.common.util.http.RequestHttp;

import me.chanjar.weixin.mp.bean.material.WxMpMaterialVideoInfoResult;
import me.chanjar.weixin.mp.util.http.apache.ApacheMaterialVideoInfoRequestExecutor;
import me.chanjar.weixin.mp.util.http.jodd.JoddMaterialVideoInfoRequestExecutor;
import me.chanjar.weixin.mp.util.http.okhttp.OkhttpMaterialVideoInfoRequestExecutor;


public abstract class MaterialVideoInfoRequestExecutor<H, P> implements RequestExecutor<WxMpMaterialVideoInfoResult, String> {
protected RequestHttp<H, P> requestHttp;

public MaterialVideoInfoRequestExecutor(RequestHttp requestHttp) {
this.requestHttp = requestHttp;
}

public static RequestExecutor<WxMpMaterialVideoInfoResult, String> create(RequestHttp requestHttp) {
switch (requestHttp.getRequestType()) {
case apacheHttp:
return new ApacheMaterialVideoInfoRequestExecutor(requestHttp);
case joddHttp:
return new JoddMaterialVideoInfoRequestExecutor(requestHttp);
case okHttp:
return new OkhttpMaterialVideoInfoRequestExecutor(requestHttp);
default:
return null;
}
}

}
this.requestHttp = requestHttp;
}

public static RequestExecutor<WxMpMaterialVideoInfoResult, String> create(RequestHttp requestHttp) {
switch (requestHttp.getRequestType()) {
case apacheHttp:
return new ApacheMaterialVideoInfoRequestExecutor(requestHttp);
case joddHttp:
return new JoddMaterialVideoInfoRequestExecutor(requestHttp);
case okHttp:
return new OkhttpMaterialVideoInfoRequestExecutor(requestHttp);
default:
return null;
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand All @@ -29,6 +31,7 @@ public Boolean execute(String uri, String materialId) throws WxErrorException, I

request.query("media_id", materialId);
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);
String responseContent = response.bodyText();
WxError error = WxError.fromJson(responseContent);
if (error.getErrorCode() != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand Down Expand Up @@ -31,6 +33,7 @@ public WxMpMaterialNews execute(String uri, String materialId) throws WxErrorExc

request.query("media_id", materialId);
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);

String responseContent = response.bodyText();
WxError error = WxError.fromJson(responseContent);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand Down Expand Up @@ -48,6 +50,7 @@ public WxMpMaterialUploadResult execute(String uri, WxMpMaterial material) throw
}

HttpResponse response = request.send();
response.charset(StringPool.UTF_8);
String responseContent = response.bodyText();
WxError error = WxError.fromJson(responseContent);
if (error.getErrorCode() != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand All @@ -30,6 +32,7 @@ public WxMpMaterialVideoInfoResult execute(String uri, String materialId) throws

request.query("media_id", materialId);
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);
String responseContent = response.bodyText();
WxError error = WxError.fromJson(responseContent);
if (error.getErrorCode() != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand Down Expand Up @@ -34,6 +36,7 @@ public InputStream execute(String uri, String materialId) throws WxErrorExceptio

request.query("media_id", materialId);
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);
try (InputStream inputStream = new ByteArrayInputStream(response.bodyBytes())) {
// 下载媒体文件出错
byte[] responseContent = IOUtils.toByteArray(inputStream);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import jodd.http.HttpRequest;
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestHttp;
Expand Down Expand Up @@ -35,6 +37,7 @@ public WxMediaImgUploadResult execute(String uri, File data) throws WxErrorExcep

request.form("media", data);
HttpResponse response = request.send();
response.charset(StringPool.UTF_8);
String responseContent = response.bodyText();
WxError error = WxError.fromJson(responseContent);
if (error.getErrorCode() != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import jodd.http.HttpResponse;
import jodd.http.ProxyInfo;
import jodd.util.MimeTypes;
import jodd.util.StringPool;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.fs.FileUtils;
Expand Down Expand Up @@ -45,6 +47,7 @@ public File execute(String uri, WxMpQrCodeTicket ticket) throws WxErrorException
request.withConnectionProvider(requestHttp.getRequestHttpClient());

HttpResponse response = request.send();
response.charset(StringPool.UTF_8);
String contentTypeHeader = response.header("Content-Type");
if (MimeTypes.MIME_TEXT_PLAIN.equals(contentTypeHeader)) {
String responseContent = response.bodyText();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package me.chanjar.weixin.mp.util.http.okhttp;

import jodd.util.MimeTypes;
import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.fs.FileUtils;
import me.chanjar.weixin.common.util.http.RequestHttp;
import me.chanjar.weixin.common.util.http.okhttp.OkhttpProxyInfo;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import me.chanjar.weixin.mp.util.http.QrCodeRequestExecutor;

import okhttp3.*;

import java.io.ByteArrayInputStream;
Expand Down Expand Up @@ -47,7 +47,7 @@ public Request authenticate(Route route, Response response) throws IOException {
Request request = new Request.Builder().url(uri).get().build();
Response response = client.newCall(request).execute();
String contentTypeHeader = response.header("Content-Type");
if (MimeTypes.MIME_TEXT_PLAIN.equals(contentTypeHeader)) {
if ("text/plain".equals(contentTypeHeader)) {
String responseContent = response.body().string();
throw new WxErrorException(WxError.fromJson(responseContent));
}
Expand Down