groovyx.net.http.thirdparty.GAEConnectionManager.java Source code

Java tutorial

Introduction

Here is the source code for groovyx.net.http.thirdparty.GAEConnectionManager.java

Source

/*
 ESXX - The friendly ECMAscript/XML Application Server
 Copyright (C) 2007-2010 Martin Blom <martin@blom.org>
    
 This program is free software: you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public License
 as published by the Free Software Foundation, either version 3
 of the License, or (at your option) any later version.
    
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU Lesser General Public License for more details.
    
 You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    
 PLEASE NOTE THAT THIS FILE'S LICENSE IS DIFFERENT FROM THE REST OF ESXX!
*/

package groovyx.net.http.thirdparty;

import java.net.*;
import java.util.concurrent.TimeUnit;
import org.apache.http.conn.*;
import org.apache.http.params.*;
import org.apache.http.conn.routing.HttpRoute;
import org.apache.http.conn.scheme.*;

public class GAEConnectionManager implements ClientConnectionManager {

    public GAEConnectionManager() {
        SocketFactory no_socket_factory = new SocketFactory() {
            public Socket connectSocket(Socket sock, String host, int port, InetAddress localAddress, int localPort,
                    HttpParams params) {
                return null;
            }

            public Socket createSocket() {
                return null;
            }

            public boolean isSecure(Socket s) {
                return false;
            }
        };

        schemeRegistry = new SchemeRegistry();
        schemeRegistry.register(new Scheme("http", no_socket_factory, 80));
        schemeRegistry.register(new Scheme("https", no_socket_factory, 443));
    }

    public SchemeRegistry getSchemeRegistry() {
        return schemeRegistry;
    }

    public ClientConnectionRequest requestConnection(final HttpRoute route, final Object state) {
        return new ClientConnectionRequest() {
            public void abortRequest() {
                // Nothing to do
            }

            public ManagedClientConnection getConnection(long timeout, TimeUnit tunit) {
                return GAEConnectionManager.this.getConnection(route, state);
            }
        };
    }

    public void releaseConnection(ManagedClientConnection conn, long validDuration, TimeUnit timeUnit) {
    }

    public void closeIdleConnections(long idletime, TimeUnit tunit) {
    }

    public void closeExpiredConnections() {
    }

    public void shutdown() {
    }

    private ManagedClientConnection getConnection(HttpRoute route, Object state) {
        return new GAEClientConnection(this, route, state);
    }

    private SchemeRegistry schemeRegistry;
}