From b8a6b65c419740fd81bc7edfdbfe8810ba0af77e Mon Sep 17 00:00:00 2001 From: za-PanJing Date: Tue, 29 Dec 2020 17:20:51 +0800 Subject: [PATCH] Fix bug for FeignException cannot get the correct charset (#1325) --- core/src/main/java/feign/FeignException.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/feign/FeignException.java b/core/src/main/java/feign/FeignException.java index 5d182f407..de2fcdd64 100644 --- a/core/src/main/java/feign/FeignException.java +++ b/core/src/main/java/feign/FeignException.java @@ -450,11 +450,11 @@ private static String getResponseBodyPreview(byte[] body, Charset charset) { private static Charset getResponseCharset(Map> headers) { Collection strings = headers.get("content-type"); - if (strings == null || strings.size() == 0) { + if (strings == null || strings.isEmpty()) { return null; } - Pattern pattern = Pattern.compile("charset=([^\\s])"); + Pattern pattern = Pattern.compile(".*charset=([^\\s|^;]+).*"); Matcher matcher = pattern.matcher(strings.iterator().next()); if (!matcher.lookingAt()) { return null;