mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-14 18:25:10 +08:00
#356 修复QrCodeRequestExecutor类MimeType比较的bug
This commit is contained in:
@@ -48,7 +48,8 @@ public class QrCodeRequestExecutor implements RequestExecutor<File, AbstractWxMa
|
|||||||
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);) {
|
InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response);) {
|
||||||
Header[] contentTypeHeader = response.getHeaders("Content-Type");
|
Header[] contentTypeHeader = response.getHeaders("Content-Type");
|
||||||
if (contentTypeHeader != null && contentTypeHeader.length > 0
|
if (contentTypeHeader != null && contentTypeHeader.length > 0
|
||||||
&& ContentType.APPLICATION_JSON.getMimeType().equals(contentTypeHeader[0].getValue())) {
|
&& ContentType.APPLICATION_JSON.getMimeType()
|
||||||
|
.equals(ContentType.parse(contentTypeHeader[0].getValue()).getMimeType())) {
|
||||||
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
|
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
|
||||||
throw new WxErrorException(WxError.fromJson(responseContent));
|
throw new WxErrorException(WxError.fromJson(responseContent));
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
package me.chanjar.weixin.mp.util.http;
|
package me.chanjar.weixin.mp.util.http;
|
||||||
|
|
||||||
|
import me.chanjar.weixin.common.bean.result.WxError;
|
||||||
|
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||||
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
import me.chanjar.weixin.common.util.http.RequestExecutor;
|
||||||
import me.chanjar.weixin.common.util.http.RequestHttp;
|
import me.chanjar.weixin.common.util.http.RequestHttp;
|
||||||
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
|
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
|
||||||
@@ -21,7 +23,7 @@ public abstract class QrCodeRequestExecutor<H, P> implements RequestExecutor<Fil
|
|||||||
this.requestHttp = requestHttp;
|
this.requestHttp = requestHttp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RequestExecutor<File, WxMpQrCodeTicket> create(RequestHttp requestHttp) {
|
public static RequestExecutor<File, WxMpQrCodeTicket> create(RequestHttp requestHttp) throws WxErrorException {
|
||||||
switch (requestHttp.getRequestType()) {
|
switch (requestHttp.getRequestType()) {
|
||||||
case APACHE_HTTP:
|
case APACHE_HTTP:
|
||||||
return new ApacheQrCodeRequestExecutor(requestHttp);
|
return new ApacheQrCodeRequestExecutor(requestHttp);
|
||||||
@@ -30,8 +32,7 @@ public abstract class QrCodeRequestExecutor<H, P> implements RequestExecutor<Fil
|
|||||||
case OK_HTTP:
|
case OK_HTTP:
|
||||||
return new OkhttpQrCodeRequestExecutor(requestHttp);
|
return new OkhttpQrCodeRequestExecutor(requestHttp);
|
||||||
default:
|
default:
|
||||||
//TODO 需要优化,最好抛出异常
|
throw new WxErrorException(WxError.newBuilder().setErrorMsg("不支持的http框架").build());
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -52,7 +52,8 @@ public class ApacheQrCodeRequestExecutor extends QrCodeRequestExecutor<Closeable
|
|||||||
Header[] contentTypeHeader = response.getHeaders("Content-Type");
|
Header[] contentTypeHeader = response.getHeaders("Content-Type");
|
||||||
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
|
if (contentTypeHeader != null && contentTypeHeader.length > 0) {
|
||||||
// 出错
|
// 出错
|
||||||
if (ContentType.TEXT_PLAIN.getMimeType().equals(contentTypeHeader[0].getValue())) {
|
if (ContentType.TEXT_PLAIN.getMimeType()
|
||||||
|
.equals(ContentType.parse(contentTypeHeader[0].getValue()).getMimeType())) {
|
||||||
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
|
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
|
||||||
throw new WxErrorException(WxError.fromJson(responseContent));
|
throw new WxErrorException(WxError.fromJson(responseContent));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user