Browse Source

Don't doubly wrap TransportException in smart HTTP client

If the readAdvertisedRefs() method throws an exception, its already
closed the connection and wrapped the underlying cause inside of a
suitable TransportException object that it is throwing.  We shouldn't
catch IOException and rethrow a wrapped copy here, because we'll double
wrap the exception thrown by readAdvertisedRefs.  This may obsecure the
root cause of the connection failure from the end-user.

Change-Id: I0ca61560f9888c666323dac8a5582aab25e897ff
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
stable-0.7
Shawn O. Pearce 15 years ago
parent
commit
dd931bd978
  1. 16
      org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java

16
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009-2010, Google Inc.
* Copyright (C) 2008-2010, Google Inc.
* Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
* and other copyright owners as documented in the project's IP log.
*
@ -572,12 +572,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
init(advertisement, DisabledOutputStream.INSTANCE);
outNeedsEnd = false;
try {
readAdvertisedRefs();
} catch (IOException err) {
close();
throw new TransportException(uri, "remote hung up", err);
}
readAdvertisedRefs();
}
@Override
@ -598,12 +593,7 @@ public class TransportHttp extends HttpTransport implements WalkTransport,
init(advertisement, DisabledOutputStream.INSTANCE);
outNeedsEnd = false;
try {
readAdvertisedRefs();
} catch (IOException err) {
close();
throw new TransportException(uri, "remote hung up", err);
}
readAdvertisedRefs();
}
protected void doPush(final ProgressMonitor monitor,

Loading…
Cancel
Save