use of com.joyent.manta.exception.MantaException in project cyberduck by iterate-ch.
the class MantaReadFeature method read.
@Override
public InputStream read(final Path file, final TransferStatus status, final ConnectionCallback connectionCallback) throws BackgroundException {
final MantaHttpHeaders headers = new MantaHttpHeaders();
try {
try {
if (status.isAppend()) {
final HttpRange range = HttpRange.withStatus(status);
headers.setByteRange(range.getStart(), range.getEnd() < 0 ? null : range.getEnd());
}
// see https://github.com/joyent/java-manta/issues/248
return session.getClient().getAsInputStream(file.getAbsolute(), headers);
} catch (UnsupportedOperationException e) {
final MantaObject probablyEmptyFile = session.getClient().head(file.getAbsolute());
if (probablyEmptyFile.getContentLength() != 0) {
throw new AccessDeniedException();
}
return new NullInputStream(0L);
}
} catch (MantaException e) {
throw new MantaExceptionMappingService().map("Download {0} failed", e, file);
} catch (MantaClientHttpResponseException e) {
throw new MantaHttpExceptionMappingService().map("Download {0} failed", e, file);
} catch (IOException e) {
throw new DefaultIOExceptionMappingService().map("Download {0} failed", e, file);
}
}
use of com.joyent.manta.exception.MantaException in project cyberduck by iterate-ch.
the class MantaSession method login.
@Override
public void login(final Proxy proxy, final LoginCallback prompt, final CancelCallback cancel) throws BackgroundException {
try {
config.setMantaUser(host.getCredentials().getUsername());
if (host.getCredentials().isPublicKeyAuthentication()) {
config.setMantaKeyId(new MantaPublicKeyAuthentication(this).authenticate(host, prompt, cancel));
}
if (host.getCredentials().isPasswordAuthentication()) {
config.setPassword(host.getCredentials().getPassword());
}
config.setNoAuth(false);
config.reload();
// Instantiation of client does not validate credentials. List the home path to test the connection
client.isDirectoryEmpty(new MantaHomeFinderFeature(host).find().getAbsolute());
} catch (ConfigurationException e) {
throw new BackgroundException(e.getRawMessage(), e);
} catch (MantaException e) {
throw new MantaExceptionMappingService().map(e);
} catch (MantaClientHttpResponseException e) {
throw new MantaHttpExceptionMappingService().map(e);
} catch (IOException e) {
throw new DefaultIOExceptionMappingService().map(e);
}
}
Aggregations