/*
* Лицензионное соглашение на использование набора средств разработки
* «SDK Яндекс.Диска» доступно по адресу: http://legal.yandex.ru/sdk_agreement
*
*/
package com.yandex.disk.client;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import org.apache.http.conn.ssl.SSLSocketFactory;
public class SSLSocketFactoryWithTimeout extends SSLSocketFactory {
private int timeout;
public SSLSocketFactoryWithTimeout(int timeout)
throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
super(null);
this.timeout = timeout;
}
@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose)
throws IOException, UnknownHostException {
return setSocketParams(super.createSocket(socket, host, port, autoClose));
}
@Override
public Socket createSocket()
throws IOException {
return setSocketParams(super.createSocket());
}
private Socket setSocketParams(Socket socket)
throws IOException {
socket.setSoTimeout(timeout);
return socket;
}
}