Java 类org.apache.http.ConnectionClosedException 实例源码
项目:lams
文件:ContentLengthInputStream.java
/**
* Read the next byte from the stream
* @return The next byte or -1 if the end of stream has been reached.
* @throws IOException If an IO problem occurs
* @see java.io.InputStream#read()
*/
@Override
public int read() throws IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
int b = this.in.read();
if (b == -1) {
if (pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
} else {
pos++;
}
return b;
}
项目:lams
文件:ContentLengthInputStream.java
/**
* Does standard {@link InputStream#read(byte[], int, int)} behavior, but
* also notifies the watcher when the contents have been consumed.
*
* @param b The byte array to fill.
* @param off Start filling at this position.
* @param len The number of bytes to attempt to read.
* @return The number of bytes read, or -1 if the end of content has been
* reached.
*
* @throws java.io.IOException Should an error occur on the wrapped stream.
*/
@Override
public int read (byte[] b, int off, int len) throws java.io.IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
if (pos + len > contentLength) {
len = (int) (contentLength - pos);
}
int count = this.in.read(b, off, len);
if (count == -1 && pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
if (count > 0) {
pos += count;
}
return count;
}
项目:remote-files-sync
文件:ContentLengthInputStreamHC4.java
/**
* Read the next byte from the stream
* @return The next byte or -1 if the end of stream has been reached.
* @throws IOException If an IO problem occurs
* @see java.io.InputStream#read()
*/
@Override
public int read() throws IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
final int b = this.in.read();
if (b == -1) {
if (pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
} else {
pos++;
}
return b;
}
项目:remote-files-sync
文件:ContentLengthInputStreamHC4.java
/**
* Does standard {@link InputStream#read(byte[], int, int)} behavior, but
* also notifies the watcher when the contents have been consumed.
*
* @param b The byte array to fill.
* @param off Start filling at this position.
* @param len The number of bytes to attempt to read.
* @return The number of bytes read, or -1 if the end of content has been
* reached.
*
* @throws java.io.IOException Should an error occur on the wrapped stream.
*/
@Override
public int read (final byte[] b, final int off, final int len) throws java.io.IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
int chunk = len;
if (pos + len > contentLength) {
chunk = (int) (contentLength - pos);
}
final int count = this.in.read(b, off, chunk);
if (count == -1 && pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
if (count > 0) {
pos += count;
}
return count;
}
项目:forest
文件:StreamCommon.java
public boolean urlSave(String url,Long fileSize, Long startIndex,Long endIndex,
String outputFilePath, SimpleProgressBar bar, boolean isPart,StreamReqeustVO srVo)
throws ConnectionClosedException, SocketTimeoutException, ConnectException
{
File file = definedVideoFile(srVo, outputFilePath, fileSize, bar, isPart);
File tempFile = new File(outputFilePath + ".download");
Long received = createTmpFile(srVo, tempFile, bar);
if (received < fileSize) {
StreamReqeustVO newSrvo = setResumePoint(srVo, received,startIndex,endIndex);
HttpResponse response = byHttpGet(url,newSrvo);
if (response == null || response.getStatusLine().getStatusCode() > 300){
logger.info("{} response is illegal",srVo.getUrl());
return false;
}
boolean result = writeVideoFile(newSrvo, response, tempFile, received, bar, fileSize);
if (!result) return false;
}
reName(file, tempFile);
return true;
}
项目:riptide
文件:DefaultRiptideRegistrar.java
private String findFaultClassifier(final String id) {
if (registry.isRegistered(id, FaultClassifier.class)) {
return generateBeanName(id, FaultClassifier.class);
} else if (registry.isRegistered(FaultClassifier.class)) {
return generateBeanName(FaultClassifier.class);
} else {
return registry.registerIfAbsent(FaultClassifier.class, () -> {
final List<Predicate<Throwable>> predicates = list();
predicates.addAll(FaultClassifier.defaults());
predicates.add(ConnectionClosedException.class::isInstance);
predicates.add(NoHttpResponseException.class::isInstance);
return genericBeanDefinition(FaultClassifier.class)
.setFactoryMethod("create")
.addConstructorArgValue(predicates);
});
}
}
项目:Visit
文件:ContentLengthInputStreamHC4.java
/**
* Read the next byte from the stream
* @return The next byte or -1 if the end of stream has been reached.
* @throws IOException If an IO problem occurs
* @see java.io.InputStream#read()
*/
@Override
public int read() throws IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
final int b = this.in.read();
if (b == -1) {
if (pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
} else {
pos++;
}
return b;
}
项目:Visit
文件:ContentLengthInputStreamHC4.java
/**
* Does standard {@link InputStream#read(byte[], int, int)} behavior, but
* also notifies the watcher when the contents have been consumed.
*
* @param b The byte array to fill.
* @param off Start filling at this position.
* @param len The number of bytes to attempt to read.
* @return The number of bytes read, or -1 if the end of content has been
* reached.
*
* @throws java.io.IOException Should an error occur on the wrapped stream.
*/
@Override
public int read (final byte[] b, final int off, final int len) throws java.io.IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
int chunk = len;
if (pos + len > contentLength) {
chunk = (int) (contentLength - pos);
}
final int count = this.in.read(b, off, chunk);
if (count == -1 && pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
if (count > 0) {
pos += count;
}
return count;
}
项目:ZTLib
文件:ContentLengthInputStreamHC4.java
/**
* Read the next byte from the stream
* @return The next byte or -1 if the end of stream has been reached.
* @throws IOException If an IO problem occurs
* @see java.io.InputStream#read()
*/
@Override
public int read() throws IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
final int b = this.in.read();
if (b == -1) {
if (pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
} else {
pos++;
}
return b;
}
项目:ZTLib
文件:ContentLengthInputStreamHC4.java
/**
* Does standard {@link InputStream#read(byte[], int, int)} behavior, but
* also notifies the watcher when the contents have been consumed.
*
* @param b The byte array to fill.
* @param off Start filling at this position.
* @param len The number of bytes to attempt to read.
* @return The number of bytes read, or -1 if the end of content has been
* reached.
*
* @throws java.io.IOException Should an error occur on the wrapped stream.
*/
@Override
public int read (final byte[] b, final int off, final int len) throws java.io.IOException {
if (closed) {
throw new IOException("Attempted read from closed stream.");
}
if (pos >= contentLength) {
return -1;
}
int chunk = len;
if (pos + len > contentLength) {
chunk = (int) (contentLength - pos);
}
final int count = this.in.read(b, off, chunk);
if (count == -1 && pos < contentLength) {
throw new ConnectionClosedException(
"Premature end of Content-Length delimited message body (expected: "
+ contentLength + "; received: " + pos);
}
if (count > 0) {
pos += count;
}
return count;
}
项目:git-as-svn
文件:ProtobufRpcSocket.java
private void acceptClient(@NotNull Socket client) throws IOException {
final SessionInputBuffer inputBuffer = wrapInputStream(client.getInputStream());
final HttpMessageParser<HttpRequest> parser = new DefaultHttpRequestParser(inputBuffer,
new BasicLineParser(),
new DefaultHttpRequestFactory(),
MessageConstraints.DEFAULT
);
final SessionOutputBuffer outputBuffer = wrapOutputStream(client.getOutputStream());
final HttpMessageWriter<HttpResponse> writer = new DefaultHttpResponseWriter(outputBuffer);
while (!socket.isClosed()) {
try {
service(inputBuffer, outputBuffer, parser, writer);
} catch (ConnectionClosedException ignored) {
break;
} catch (HttpException e) {
log.error(e.getMessage(), e);
break;
}
}
}
项目:Photato
文件:StdErrorExceptionLogger.java
@Override
public void log(final Exception ex) {
if (ex instanceof SocketTimeoutException || ex instanceof ConnectionClosedException) {
// Do nothing
} else {
ex.printStackTrace();
}
}
项目:lams
文件:DefaultHttpRequestParser.java
@Override
protected HttpRequest parseHead(
final SessionInputBuffer sessionBuffer)
throws IOException, HttpException, ParseException {
this.lineBuf.clear();
int i = sessionBuffer.readLine(this.lineBuf);
if (i == -1) {
throw new ConnectionClosedException("Client closed connection");
}
ParserCursor cursor = new ParserCursor(0, this.lineBuf.length());
RequestLine requestline = this.lineParser.parseRequestLine(this.lineBuf, cursor);
return this.requestFactory.newHttpRequest(requestline);
}
项目:lams
文件:HttpRequestParser.java
@Override
protected HttpMessage parseHead(
final SessionInputBuffer sessionBuffer)
throws IOException, HttpException, ParseException {
this.lineBuf.clear();
int i = sessionBuffer.readLine(this.lineBuf);
if (i == -1) {
throw new ConnectionClosedException("Client closed connection");
}
ParserCursor cursor = new ParserCursor(0, this.lineBuf.length());
RequestLine requestline = this.lineParser.parseRequestLine(this.lineBuf, cursor);
return this.requestFactory.newHttpRequest(requestline);
}
项目:cyberduck
文件:HttpExceptionMappingService.java
@Override
public BackgroundException map(final IOException failure) {
if(failure instanceof ConnectionClosedException) {
final StringBuilder buffer = new StringBuilder();
this.append(buffer, failure.getMessage());
return new ConnectionRefusedException(buffer.toString(), failure);
}
return super.map(failure);
}
项目:remote-files-sync
文件:DefaultHttpRequestParser.java
@Override
protected HttpRequest parseHead(
final SessionInputBuffer sessionBuffer)
throws IOException, HttpException, ParseException {
this.lineBuf.clear();
final int i = sessionBuffer.readLine(this.lineBuf);
if (i == -1) {
throw new ConnectionClosedException("Client closed connection");
}
final ParserCursor cursor = new ParserCursor(0, this.lineBuf.length());
final RequestLine requestline = this.lineParser.parseRequestLine(this.lineBuf, cursor);
return this.requestFactory.newHttpRequest(requestline);
}
项目:riptide
文件:ManualConfiguration.java
@Bean
public Http exampleHttp(final AsyncClientHttpRequestFactory requestFactory,
final ClientHttpMessageConverters converters, final GaugeService gaugeService,
final ScheduledExecutorService scheduler) {
return Http.builder()
.baseUrl("https://www.example.com")
.urlResolution(UrlResolution.RFC)
.requestFactory(requestFactory)
.converters(converters.getConverters())
.plugin(new MetricsPlugin(gaugeService, new ZMONMetricsNameGenerator()))
.plugin(new TransientFaultPlugin(
FaultClassifier.create(ImmutableList.<Predicate<Throwable>>builder()
.addAll(FaultClassifier.defaults())
.add(ConnectionClosedException.class::isInstance)
.add(NoHttpResponseException.class::isInstance)
.build())))
.plugin(new FailsafePlugin(scheduler)
.withRetryPolicy(new RetryPolicy()
.retryOn(TransientFaultException.class)
.withBackoff(50, 2000, MILLISECONDS)
.withMaxRetries(10)
.withMaxDuration(2, SECONDS)
.withJitter(0.2))
.withCircuitBreaker(new CircuitBreaker()
.withFailureThreshold(5, 5)
.withDelay(30, SECONDS)
.withSuccessThreshold(3, 5)
.withTimeout(3, SECONDS)))
.plugin(new BackupRequestPlugin(scheduler, 10, MILLISECONDS))
.plugin(new TimeoutPlugin(scheduler, 3, SECONDS))
.plugin(new OriginalStackTracePlugin())
.plugin(new CustomPlugin())
.build();
}
项目:Visit
文件:DefaultHttpRequestParser.java
@Override
protected HttpRequest parseHead(
final SessionInputBuffer sessionBuffer)
throws IOException, HttpException, ParseException {
this.lineBuf.clear();
final int i = sessionBuffer.readLine(this.lineBuf);
if (i == -1) {
throw new ConnectionClosedException("Client closed connection");
}
final ParserCursor cursor = new ParserCursor(0, this.lineBuf.length());
final RequestLine requestline = this.lineParser.parseRequestLine(this.lineBuf, cursor);
return this.requestFactory.newHttpRequest(requestline);
}
项目:upload-parser
文件:JettyIntegrationTest.java
private void performRequest(String url, Integer expectedStatus) throws IOException {
try {
ClientRequest.performRequest(url, expectedStatus);
} catch (NoHttpResponseException | SocketException | ConnectionClosedException e) {
e.printStackTrace();
if (expectedStatus != null) {
fail();
}
}
}
项目:jamweaver
文件:JAMSocketService.java
@Override
public void log(final Exception ex) {
if (ex instanceof SocketTimeoutException) {
Dbg.err("Connection timed out");
} else if (ex instanceof ConnectionClosedException) {
Dbg.err("Connection closed: " + ex.getMessage());
} else {
ex.printStackTrace();
}
}
项目:ds3_java_sdk
文件:IOUtils.java
public static long copy(
final InputStream inputStream,
final WritableByteChannel writableByteChannel,
final int bufferSize,
final String objName,
final boolean isPutCommand)
throws IOException {
final byte[] buffer = new byte[bufferSize];
final ByteBuffer byteBuffer = ByteBuffer.wrap(buffer);
int len;
long totalBytes = 0;
final long startTime = PerformanceUtils.getCurrentTime();
long statusUpdateTime = startTime;
try {
while ((len = inputStream.read(buffer)) != -1) {
totalBytes += len;
try {
byteBuffer.position(0);
byteBuffer.limit(len);
writableByteChannel.write(byteBuffer);
} catch (final Throwable t) {
throw new UnrecoverableIOException(t);
}
final long curTime = PerformanceUtils.getCurrentTime();
if (statusUpdateTime <= curTime) {
PerformanceUtils.logMbpsStatus(startTime, curTime, totalBytes, objName, isPutCommand);
statusUpdateTime += 60000D; //Only logs status once a minute
}
}
} catch (final ConnectionClosedException e) {
LOG.error("Connection closed trying to copy from stream to channel.", e);
}
return totalBytes;
}
项目:docker-java
文件:ChunkedInputStream.java
/**
* Expects the stream to start with a chunksize in hex with optional
* comments after a semicolon. The line must end with a CRLF: "a3; some
* comment\r\n" Positions the stream at the start of the next line.
*/
private long getChunkSize() throws IOException {
final int st = this.state;
switch (st) {
case CHUNK_CRLF:
this.buffer.clear();
final int bytesRead1 = this.in.readLine(this.buffer);
if (bytesRead1 == -1) {
throw new MalformedChunkCodingException(
"CRLF expected at end of chunk");
}
if (!this.buffer.isEmpty()) {
throw new MalformedChunkCodingException(
"Unexpected content at the end of chunk");
}
state = CHUNK_LEN;
//$FALL-THROUGH$
case CHUNK_LEN:
this.buffer.clear();
final int bytesRead2 = this.in.readLine(this.buffer);
if (bytesRead2 == -1) {
throw new ConnectionClosedException("Premature end of chunk coded message body: " +
"closing chunk expected");
}
int separator = this.buffer.indexOf(';');
if (separator < 0) {
separator = this.buffer.length();
}
final String s = this.buffer.substringTrimmed(0, separator);
try {
return Long.parseLong(s, 16);
} catch (final NumberFormatException e) {
throw new MalformedChunkCodingException("Bad chunk header: " + s);
}
default:
throw new IllegalStateException("Inconsistent codec state");
}
}
项目:ZTLib
文件:DefaultHttpRequestParser.java
@Override
protected HttpRequest parseHead(
final SessionInputBuffer sessionBuffer)
throws IOException, HttpException, ParseException {
this.lineBuf.clear();
final int i = sessionBuffer.readLine(this.lineBuf);
if (i == -1) {
throw new ConnectionClosedException("Client closed connection");
}
final ParserCursor cursor = new ParserCursor(0, this.lineBuf.length());
final RequestLine requestline = this.lineParser.parseRequestLine(this.lineBuf, cursor);
return this.requestFactory.newHttpRequest(requestline);
}
项目:lavaplayer
文件:HttpClientTools.java
private static boolean isPrematureEndException(Throwable exception) {
return exception instanceof ConnectionClosedException && exception.getMessage() != null &&
exception.getMessage().startsWith("Premature end of Content-Length");
}