| /******************************************************************************* |
| * Copyright (c) 2011, 2013 Tasktop Technologies and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Tasktop Technologies - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.mylyn.internal.commons.repositories.http.core; |
| |
| import java.io.IOException; |
| import java.net.InetSocketAddress; |
| import java.net.Socket; |
| import java.net.UnknownHostException; |
| |
| import javax.net.SocketFactory; |
| |
| import org.apache.http.conn.ConnectTimeoutException; |
| import org.apache.http.conn.scheme.SchemeSocketFactory; |
| import org.apache.http.params.HttpConnectionParams; |
| import org.apache.http.params.HttpParams; |
| import org.eclipse.mylyn.commons.core.net.NetUtil; |
| |
| /** |
| * @author Steffen Pingel |
| */ |
| public class PollingProtocolSocketFactory implements SchemeSocketFactory { |
| |
| private final static SocketFactory factory = SocketFactory.getDefault(); |
| |
| public Socket createSocket(HttpParams params) throws IOException { |
| return NetUtil.configureSocket(factory.createSocket()); |
| } |
| |
| public Socket connectSocket(Socket sock, InetSocketAddress remoteAddress, InetSocketAddress localAddress, |
| HttpParams params) throws IOException, UnknownHostException, ConnectTimeoutException { |
| |
| if (params == null) { |
| throw new IllegalArgumentException("Parameters may not be null"); //$NON-NLS-1$ |
| } |
| |
| final Socket socket = sock != null ? sock : NetUtil.configureSocket(factory.createSocket()); |
| |
| int connTimeout = HttpConnectionParams.getConnectionTimeout(params); |
| |
| socket.bind(localAddress); |
| socket.connect(remoteAddress, connTimeout); |
| return socket; |
| } |
| |
| public boolean isSecure(Socket sock) throws IllegalArgumentException { |
| return false; |
| } |
| |
| } |