com.rt.storage.api.client.http.EmptyContent Maven / Gradle / Ivy
package com.rt.storage.api.client.http;
import java.io.IOException;
import java.io.OutputStream;
/**
* Empty HTTP content of length zero just to force {@link HttpRequest#execute()} to add the header
* {@code Content-Length: 0}.
*
* Note that there is no {@code Content-Length} header if the HTTP request content is {@code
* null} . However, when making a request like PUT or POST without a {@code Content-Length} header,
* some servers may respond with a {@code 411 Length Required} error. Specifying the {@code
* Content-Length: 0} header may work around that problem.
*
* @since 1.11
* @author Yaniv Inbar
*/
public class EmptyContent implements HttpContent {
public long getLength() throws IOException {
return 0;
}
public String getType() {
return null;
}
public void writeTo(OutputStream out) throws IOException {
out.flush();
}
public boolean retrySupported() {
return true;
}
}