本文整理了Java中okio.Buffer.clone()
方法的一些代码示例,展示了Buffer.clone()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffer.clone()
方法的具体详情如下:
包路径:okio.Buffer
类名称:Buffer
方法名:clone
[英]Returns a deep copy of this buffer.
[中]返回此缓冲区的深度副本。
代码示例来源:origin: square/okhttp
/** Returns a copy of the raw HTTP payload. */
public Buffer getBody() {
return body != null ? body.clone() : null;
}
代码示例来源:origin: square/okhttp
@Override public Source source(File file) throws FileNotFoundException {
Buffer result = files.get(file);
if (result == null) throw new FileNotFoundException();
final Source source = result.clone();
openSources.put(source, file);
return new ForwardingSource(source) {
@Override public void close() throws IOException {
openSources.remove(source);
super.close();
}
};
}
代码示例来源:origin: square/okhttp
public MockResponse setBody(Buffer body) {
setHeader("Content-Length", body.size());
this.body = body.clone(); // Defensive copy.
return this;
}
代码示例来源:origin: JessYanCoding/MVPArms
/**
* 打印响应结果
*
* @param request {@link Request}
* @param response {@link Response}
* @param logResponse 是否打印响应结果
* @return 解析后的响应结果
* @throws IOException
*/
@Nullable
private String printResult(Request request, Response response, boolean logResponse) throws IOException {
try {
//读取服务器返回的结果
ResponseBody responseBody = response.newBuilder().build().body();
BufferedSource source = responseBody.source();
source.request(Long.MAX_VALUE); // Buffer the entire body.
Buffer buffer = source.buffer();
//获取content的压缩类型
String encoding = response
.headers()
.get("Content-Encoding");
Buffer clone = buffer.clone();
//解析response content
return parseContent(responseBody, encoding, clone);
} catch (IOException e) {
e.printStackTrace();
return "{\"error\": \"" + e.getMessage() + "\"}";
}
}
代码示例来源:origin: square/okhttp
FILE_HEADER_SIZE + upstreamPos, upstreamBuffer.clone(), upstreamBytesRead);
代码示例来源:origin: square/okio
@Test public void cloneDoesNotObserveWritesToOriginal() {
Buffer original = new Buffer();
Buffer clone = original.clone();
original.writeUtf8("abc");
assertEquals(0, clone.size());
}
代码示例来源:origin: square/okhttp
if ("gzip".equalsIgnoreCase(headers.get("Content-Encoding"))) {
gzippedLength = buffer.size();
try (GzipSource gzippedResponseBody = new GzipSource(buffer.clone())) {
buffer = new Buffer();
buffer.writeAll(gzippedResponseBody);
logger.log(buffer.clone().readString(charset));
代码示例来源:origin: square/okio
@Test public void originalDoesNotObserveWritesToClone() {
Buffer original = new Buffer();
Buffer clone = original.clone();
clone.writeUtf8("abc");
assertEquals(0, original.size());
}
代码示例来源:origin: com.squareup.okhttp3/okhttp
FILE_HEADER_SIZE + upstreamPos, upstreamBuffer.clone(), upstreamBytesRead);
代码示例来源:origin: square/okio
@Test public void originalDoesNotObserveReadsFromClone() throws Exception {
Buffer original = new Buffer();
original.writeUtf8("abc");
Buffer clone = original.clone();
assertEquals("abc", clone.readUtf8(3));
assertEquals(3, original.size());
assertEquals("ab", original.readUtf8(2));
}
代码示例来源:origin: smuyyh/BookReader
logger.log(buffer.clone().readString(charset));
代码示例来源:origin: square/okio
@Test public void cloneDoesNotObserveReadsFromOriginal() throws Exception {
Buffer original = new Buffer();
original.writeUtf8("abc");
Buffer clone = original.clone();
assertEquals("abc", original.readUtf8(3));
assertEquals(3, clone.size());
assertEquals("ab", clone.readUtf8(2));
}
代码示例来源:origin: com.squareup.okhttp3/logging-interceptor
if ("gzip".equalsIgnoreCase(headers.get("Content-Encoding"))) {
gzippedLength = buffer.size();
try (GzipSource gzippedResponseBody = new GzipSource(buffer.clone())) {
buffer = new Buffer();
buffer.writeAll(gzippedResponseBody);
logger.log(buffer.clone().readString(charset));
代码示例来源:origin: amitshekhariitbhu/Fast-Android-Networking
logger.log(buffer.clone().readString(charset));
代码示例来源:origin: square/okio
@Test public void readFullyByteArray() throws IOException {
Buffer data = new Buffer();
data.writeUtf8("Hello").writeUtf8(repeat('e', SEGMENT_SIZE));
byte[] expected = data.clone().readByteArray();
sink.write(data, data.size());
sink.emit();
byte[] sink = new byte[SEGMENT_SIZE + 5];
source.readFully(sink);
assertByteArraysEquals(expected, sink);
}
代码示例来源:origin: jgilfelt/chuck
transaction.setResponseBody(readFromBuffer(buffer.clone(), charset));
} else {
transaction.setResponseBodyIsPlainText(false);
代码示例来源:origin: square/okio
@Test public void cloneMultipleSegments() throws Exception {
Buffer original = new Buffer();
original.writeUtf8(repeat('a', SEGMENT_SIZE * 3));
Buffer clone = original.clone();
original.writeUtf8(repeat('b', SEGMENT_SIZE * 3));
clone.writeUtf8(repeat('c', SEGMENT_SIZE * 3));
assertEquals(repeat('a', SEGMENT_SIZE * 3) + repeat('b', SEGMENT_SIZE * 3),
original.readUtf8(SEGMENT_SIZE * 6));
assertEquals(repeat('a', SEGMENT_SIZE * 3) + repeat('c', SEGMENT_SIZE * 3),
clone.readUtf8(SEGMENT_SIZE * 6));
}
代码示例来源:origin: square/okio
@Test public void seekWithinSegment() throws Exception {
assumeTrue(bufferFactory == BufferFactory.SMALL_SEGMENTED_BUFFER);
Buffer buffer = bufferFactory.newBuffer();
assertEquals("abcdefghijkl", buffer.clone().readUtf8());
// Seek to the 'f' in the "defg" segment.
try (UnsafeCursor cursor = buffer.readUnsafe()) {
assertEquals(2, cursor.seek(5)); // 2 for 2 bytes left in the segment: "fg".
assertEquals(5, cursor.offset);
assertEquals(2, cursor.end - cursor.start);
assertEquals('d', (char) cursor.data[cursor.start - 2]); // Out of bounds!
assertEquals('e', (char) cursor.data[cursor.start - 1]); // Out of bounds!
assertEquals('f', (char) cursor.data[cursor.start]);
assertEquals('g', (char) cursor.data[cursor.start + 1]);
}
}
代码示例来源:origin: cn-ljb/rxjava_for_android
logger.log(buffer.clone().readString(charset));
代码示例来源:origin: com.squareup.okhttp/mockwebserver
public MockResponse setBody(Buffer body) {
setHeader("Content-Length", body.size());
this.body = body.clone(); // Defensive copy.
return this;
}
内容来源于网络,如有侵权,请联系作者删除!