/**************************************************************************** * Copyright (c) 2008, 2009 Composent, Inc., IBM 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: * Composent, Inc. - initial API and implementation * Henrich Kraemer - bug 263869, testHttpsReceiveFile fails using HTTP proxy *****************************************************************************/ package org.eclipse.ecf.internal.provider.filetransfer.httpclient4.ssl; import java.io.IOException; import java.net.Socket; import javax.net.ssl.SSLSocketFactory; import org.eclipse.ecf.filetransfer.events.socketfactory.INonconnectedSocketFactory; import org.eclipse.ecf.internal.provider.filetransfer.httpclient4.Activator; import org.eclipse.ecf.internal.provider.filetransfer.httpclient4.ISSLSocketFactoryModifier; public class SSLSocketFactoryModifier implements ISSLSocketFactoryModifier, INonconnectedSocketFactory { public void dispose() { // nothing to do } public SSLSocketFactory getSSLSocketFactory() throws IOException { final SSLSocketFactory factory = Activator.getDefault().getSSLSocketFactory(); if (factory == null) throw new IOException("Cannot get socket factory"); //$NON-NLS-1$ return factory; } /* (non-Javadoc) * @see org.eclipse.ecf.internal.provider.filetransfer.httpclient.ISSLSocketFactoryModifier#getNonconnnectedSocketFactory() */ public INonconnectedSocketFactory getNonconnnectedSocketFactory() { return this; } /* (non-Javadoc) * @see org.eclipse.ecf.filetransfer.events.socketfactory.INonconnectedSocketFactory#createSocket() */ public Socket createSocket() throws IOException { final SSLSocketFactory factory = getSSLSocketFactory(); return factory.createSocket(); } }