|
|
|
@ -175,14 +175,18 @@ public abstract class AbstractCharSequenceDecoder<T extends CharSequence> extend |
|
|
|
public final T decode(DataBuffer dataBuffer, ResolvableType elementType, |
|
|
|
public final T decode(DataBuffer dataBuffer, ResolvableType elementType, |
|
|
|
@Nullable MimeType mimeType, @Nullable Map<String, Object> hints) { |
|
|
|
@Nullable MimeType mimeType, @Nullable Map<String, Object> hints) { |
|
|
|
|
|
|
|
|
|
|
|
Charset charset = getCharset(mimeType); |
|
|
|
try { |
|
|
|
T value = decodeInternal(dataBuffer, charset); |
|
|
|
Charset charset = getCharset(mimeType); |
|
|
|
DataBufferUtils.release(dataBuffer); |
|
|
|
T value = decodeInternal(dataBuffer, charset); |
|
|
|
LogFormatUtils.traceDebug(logger, traceOn -> { |
|
|
|
LogFormatUtils.traceDebug(logger, traceOn -> { |
|
|
|
String formatted = LogFormatUtils.formatValue(value, !traceOn); |
|
|
|
String formatted = LogFormatUtils.formatValue(value, !traceOn); |
|
|
|
return Hints.getLogPrefix(hints) + "Decoded " + formatted; |
|
|
|
return Hints.getLogPrefix(hints) + "Decoded " + formatted; |
|
|
|
}); |
|
|
|
}); |
|
|
|
return value; |
|
|
|
return value; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
finally { |
|
|
|
|
|
|
|
DataBufferUtils.release(dataBuffer); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private Charset getCharset(@Nullable MimeType mimeType) { |
|
|
|
private Charset getCharset(@Nullable MimeType mimeType) { |
|
|
|
|