src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java
changeset 53300 54aa3ea04fe8
parent 52554 5f1ca46703f9
equal deleted inserted replaced
53299:0b2574a2a6c7 53300:54aa3ea04fe8
     1 /*
     1 /*
     2  * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    26 package jdk.internal.net.http;
    26 package jdk.internal.net.http;
    27 
    27 
    28 import java.io.IOException;
    28 import java.io.IOException;
    29 import java.net.InetSocketAddress;
    29 import java.net.InetSocketAddress;
    30 import java.net.http.HttpClient;
    30 import java.net.http.HttpClient;
       
    31 import java.net.http.HttpResponse;
    31 import java.net.http.HttpResponse.BodyHandler;
    32 import java.net.http.HttpResponse.BodyHandler;
    32 import java.net.http.HttpResponse.BodySubscriber;
    33 import java.net.http.HttpResponse.BodySubscriber;
    33 import java.nio.ByteBuffer;
    34 import java.nio.ByteBuffer;
    34 import java.util.Objects;
    35 import java.util.Objects;
    35 import java.util.concurrent.CompletableFuture;
    36 import java.util.concurrent.CompletableFuture;
   379 
   380 
   380     @Override
   381     @Override
   381     CompletableFuture<Void> ignoreBody() {
   382     CompletableFuture<Void> ignoreBody() {
   382         return response.ignoreBody(executor);
   383         return response.ignoreBody(executor);
   383     }
   384     }
       
   385 
       
   386     // Used for those response codes that have no body associated
       
   387     @Override
       
   388     public void nullBody(HttpResponse<T> resp, Throwable t) {
       
   389        response.nullBody(resp, t);
       
   390     }
       
   391 
   384 
   392 
   385     ByteBuffer drainLeftOverBytes() {
   393     ByteBuffer drainLeftOverBytes() {
   386         synchronized (lock) {
   394         synchronized (lock) {
   387             asyncReceiver.stop();
   395             asyncReceiver.stop();
   388             return asyncReceiver.drain(Utils.EMPTY_BYTEBUFFER);
   396             return asyncReceiver.drain(Utils.EMPTY_BYTEBUFFER);