org.mockserver.netty.proxy.socks.Socks4ConnectHandler Maven / Gradle / Ivy
package org.mockserver.netty.proxy.socks;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.socksx.v4.DefaultSocks4CommandResponse;
import io.netty.handler.codec.socksx.v4.Socks4CommandRequest;
import io.netty.handler.codec.socksx.v4.Socks4CommandStatus;
import io.netty.handler.codec.socksx.v4.Socks4ServerEncoder;
import org.mockserver.configuration.Configuration;
import org.mockserver.lifecycle.LifeCycle;
import org.mockserver.logging.MockServerLogger;
@ChannelHandler.Sharable
public final class Socks4ConnectHandler extends SocksConnectHandler {
public Socks4ConnectHandler(Configuration configuration, MockServerLogger mockServerLogger, LifeCycle server, String host, int port) {
super(configuration, mockServerLogger, server, host, port);
}
protected void removeCodecSupport(ChannelHandlerContext ctx) {
super.removeCodecSupport(ctx);
removeHandler(ctx.pipeline(), Socks4ServerEncoder.class);
}
protected Object successResponse(Object request) {
return new DefaultSocks4CommandResponse(Socks4CommandStatus.SUCCESS, host, port);
}
protected Object failureResponse(Object request) {
return new DefaultSocks4CommandResponse(Socks4CommandStatus.REJECTED_OR_FAILED, host, port);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy