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>
tags/v0.7.0
Shawn O. Pearce 14 years ago
parent
commit
dd931bd978
1 changed files with 3 additions and 13 deletions
  1. 3
    13
      org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java

+ 3
- 13
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportHttp.java View File

@@ -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