All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.littleshoot.proxy.DefaultRelayPipelineFactoryFactory Maven / Gradle / Ivy

package org.littleshoot.proxy;

import java.util.Map;

import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.channel.group.ChannelGroup;
import org.jboss.netty.handler.codec.http.HttpRequest;

public class DefaultRelayPipelineFactoryFactory 
    implements RelayPipelineFactoryFactory {
    
    private String chainProxyHostAndPort;
    private Map filters;
    private ChannelGroup channelGroup;
    private HttpRequestFilter requestFilter;

    public DefaultRelayPipelineFactoryFactory(
        final String chainProxyHostAndPort, 
        final Map filters, HttpRequestFilter requestFilter, 
        final ChannelGroup channelGroup) {
        this.chainProxyHostAndPort = chainProxyHostAndPort;
        this.filters = filters;
        this.channelGroup = channelGroup;
        this.requestFilter = requestFilter;
    }
    
    public ChannelPipelineFactory getRelayPipelineFactory(
        final HttpRequest httpRequest, final Channel browserToProxyChannel, 
        final RelayListener relayListener) {
        final String hostAndPort = 
            chainProxyHostAndPort != null ? chainProxyHostAndPort : 
                ProxyUtils.parseHostAndPort(httpRequest);
        
        return new DefaultRelayPipelineFactory(hostAndPort, httpRequest, 
            relayListener, browserToProxyChannel, channelGroup, filters, 
            requestFilter, chainProxyHostAndPort);
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy