public static Map<String, Object> sourceAsMap(byte[] bytes, int offset, int length, boolean unsafe) { XContentParser parser = null; try { if (isCompressed(bytes, offset, length)) { BytesStreamInput siBytes = new BytesStreamInput(bytes, offset, length, unsafe); HandlesStreamInput siLzf = CachedStreamInput .cachedHandles(siBytes); XContentType contentType = XContentFactory.xContentType(siLzf); siLzf.reset(); parser = XContentFactory.xContent(contentType).createParser( siLzf); return parser.map(); } else { parser = XContentFactory.xContent(bytes, offset, length) .createParser(bytes, offset, length); return parser.map(); } } catch (Exception e) { throw new ElasticsearchParseException( "Failed to parse source to map", e); } finally { if (parser != null) { parser.close(); } } }
public static Map<String, Object> sourceAsMap(byte[] bytes, int offset, int length) { XContentParser parser = null; try { if (isCompressed(bytes, offset, length)) { BytesStreamInput siBytes = new BytesStreamInput(bytes, offset, length, true); HandlesStreamInput siLzf = CachedStreamInput .cachedHandles(siBytes); XContentType contentType = XContentFactory.xContentType(siLzf); siLzf.reset(); parser = XContentFactory.xContent(contentType).createParser( siLzf); return parser.map(); } else { parser = XContentFactory.xContent(bytes, offset, length) .createParser(bytes, offset, length); return parser.map(); } } catch (Exception e) { throw new ElasticsearchParseException( "Failed to parse source to map", e); } finally { if (parser != null) { parser.close(); } } }
StreamInput wrappedStream = CachedStreamInput.cachedHandles(streamIn);