Java Code Examples for io.undertow.server.handlers.NameVirtualHostHandler

The following examples show how to use io.undertow.server.handlers.NameVirtualHostHandler. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: galeb   Source File: NameVirtualHostDefaultHandler.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public synchronized void handleRequest(HttpServerExchange exchange) throws Exception {
    final String hostName = exchange.getHostName();
    final NameVirtualHostHandler nameVirtualHostHandler = context.getBean(NameVirtualHostHandler.class);
    if (existHostname(hostName)) {            
        if (!nameVirtualHostHandler.getHosts().containsKey(hostName)) { 
        	logger.info("adding " + hostName);
        	final VirtualHost virtualHost = cache.get(hostName);
        	nameVirtualHostHandler.addHost(hostName, defineNextHandler(virtualHost));
        }
        
        nameVirtualHostHandler.handleRequest(exchange);
    } else {
        ResponseCodeOnError.VIRTUALHOST_NOT_FOUND.getHandler().handleRequest(exchange);
    }
}
 
Example 2
Source Project: quarkus-http   Source File: Handlers.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Creates a new virtual host handler that uses the provided handler as the root handler for the given hostnames.
 *
 * @param hostHandler The host handler
 * @param hostnames   The host names
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost(final HttpHandler hostHandler, String... hostnames) {
    NameVirtualHostHandler handler = new NameVirtualHostHandler();
    for (String host : hostnames) {
        handler.addHost(host, hostHandler);
    }
    return handler;
}
 
Example 3
Source Project: galeb   Source File: RootHandlerConfiguration.java    License: Apache License 2.0 5 votes vote down vote up
@Autowired
public RootHandlerConfiguration(final NameVirtualHostHandler nameVirtualHostHandler,
                                final AccessLogCompletionListener accessLogCompletionListener,
                                final StatsdCompletionListener statsdCompletionListener) {
    this.nameVirtualHostHandler = nameVirtualHostHandler;
    this.accessLogCompletionListener = accessLogCompletionListener;
    this.statsdCompletionListener = statsdCompletionListener;
}
 
Example 4
Source Project: galeb   Source File: UpdaterService.java    License: Apache License 2.0 5 votes vote down vote up
@Autowired
public UpdaterService(final ManagerClient managerClient,
                      final ManagerClientCache cache,
                      final NameVirtualHostHandler nameVirtualHostHandler) {
    this.managerClient = managerClient;
    this.cache = cache;
    this.nameVirtualHostHandler = nameVirtualHostHandler;
}
 
Example 5
Source Project: galeb   Source File: RootHandler.java    License: Apache License 2.0 5 votes vote down vote up
public RootHandler(final NameVirtualHostHandler nameVirtualHostHandler,
                   final AccessLogCompletionListener accessLogCompletionListener,
                   final StatsdCompletionListener statsdCompletionListener) {
    this.nameVirtualHostHandler = nameVirtualHostHandler;
    this.accessLogCompletionListener = accessLogCompletionListener;
    this.statsdCompletionListener = statsdCompletionListener;
}
 
Example 6
Source Project: lams   Source File: Handlers.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Creates a new virtual host handler that uses the provided handler as the root handler for the given hostnames.
 *
 * @param hostHandler The host handler
 * @param hostnames   The host names
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost(final HttpHandler hostHandler, String... hostnames) {
    NameVirtualHostHandler handler = new NameVirtualHostHandler();
    for (String host : hostnames) {
        handler.addHost(host, hostHandler);
    }
    return handler;
}
 
Example 7
Source Project: StubbornJava   Source File: VirtualHostServer.java    License: MIT License 5 votes vote down vote up
public static void main(String[] args) {
    NameVirtualHostHandler handler = Handlers.virtualHost()
            .addHost("localhost", VirtualHostServer.redirectToHost("www.localhost"))
            .addHost("www.localhost", ROUTES);
    SimpleServer server = SimpleServer.simpleServer(handler);
    server.start();
}
 
Example 8
Source Project: light-4j   Source File: VirtualHostHandler.java    License: Apache License 2.0 5 votes vote down vote up
public VirtualHostHandler() {
    VirtualHostConfig config = (VirtualHostConfig)Config.getInstance().getJsonObjectConfig(VirtualHostConfig.CONFIG_NAME, VirtualHostConfig.class);
    virtualHostHandler = new NameVirtualHostHandler();
    for(VirtualHost host: config.hosts) {
        virtualHostHandler.addHost(host.domain, new PathHandler().addPrefixPath(host.getPath(), new ResourceHandler((new PathResourceManager(Paths.get(host.getBase()), host.getTransferMinSize()))).setDirectoryListingEnabled(host.isDirectoryListingEnabled())));
    }
}
 
Example 9
Source Project: StubbornJava   Source File: VirtualHostServer.java    License: MIT License 5 votes vote down vote up
public static void main(String[] args) {
    NameVirtualHostHandler handler = Handlers.virtualHost()
            .addHost("localhost", VirtualHostServer.redirectToHost("www.localhost"))
            .addHost("www.localhost", ROUTES);
    SimpleServer server = SimpleServer.simpleServer(handler);
    server.start();
}
 
Example 10
Source Project: light   Source File: LightServer.java    License: Apache License 2.0 4 votes vote down vote up
static public void start() {
    // hosts and server configuration
    Map<String, Object> hostConfigMap = ServiceLocator.getInstance().getJsonMapConfig(ServiceLocator.HOST_CONFIG);
    Map<String, Object> serverConfigMap = ServiceLocator.getInstance().getJsonMapConfig(ServiceLocator.SERVER_CONFIG);

    OrientGraphFactory factory = ServiceLocator.getInstance().getFactory();
    // check if database exists, if not create it and init it.
    if(!factory.exists()) {
        try {
            OrientBaseGraph g = new OrientGraph(ServiceLocator.getInstance().getDbUrl());
            // database is auto created
            g.command(new OCommandSQL("alter database custom useLightweightEdges=true")).execute();
            g.command(new OCommandSQL("alter database DATETIMEFORMAT yyyy-MM-dd'T'HH:mm:ss.SSS")).execute();
            g.command(new OCommandSQL("alter database TIMEZONE UTC")).execute();
            OGlobalConfiguration.RID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD.setValue(-1);
        } finally {
            // this also closes the OrientGraph instances created by the factory
            // Note that OrientGraphFactory does not implement Closeable
            factory.close();
        }
        InitDatabase.initDb();
        // load rule compileCache here
        AbstractRuleRule.loadCompileCache();
        // replay all the event to create database image.
        // TODO need to rethink replay as orientdb is used instead of Memory Image.
        replayEvent();
    } else {
        // load rule compileCache here
        AbstractRuleRule.loadCompileCache();
    }

    NameVirtualHostHandler virtualHostHandler = new NameVirtualHostHandler();
    Iterator<String> it = hostConfigMap.keySet().iterator();
    while (it.hasNext()) {
        String host = it.next();
        Map<String, String> hostPropMap = (Map<String, String>)hostConfigMap.get(host);
        String base = hostPropMap.get("base");
        String transferMinSize = hostPropMap.get("transferMinSize");
        virtualHostHandler
                .addHost(
                        host,
                        Handlers.predicates(
                            PredicatedHandlersParser.parse("not path-prefix('/images', '/assets', '/api') -> rewrite('/index.html')"
                            //PredicatedHandlersParser.parse("not path-suffix['.js', '.html', '.css'] -> rewrite['/index.html']"
                            //PredicatedHandlersParser.parse("path-prefix['/home', '/page', '/form'] -> rewrite['/index.html']"
                            , LightServer.class.getClassLoader()),
                                new PathHandler(resource(new FileResourceManager(
                                        new File(base), Integer
                                        .valueOf(transferMinSize))))
                                        .addPrefixPath("/api/rs",
                                                new EagerFormParsingHandler().setNext(
                                                        new RestHandler()))
                                        .addPrefixPath("/api/ws",
                                                websocket(new WebSocketHandler()))
                        ));
    }
    String ip = (String)serverConfigMap.get("ip");
    String port = (String)serverConfigMap.get("port");
    server = Undertow
            .builder()
            .addHttpListener(Integer.valueOf(port), ip)
            .setBufferSize(1024 * 16)
            .setServerOption(UndertowOptions.ALWAYS_SET_KEEP_ALIVE, false)
            .setHandler(
                    Handlers.header(virtualHostHandler,
                            Headers.SERVER_STRING, "LIGHT"))
            .setWorkerThreads(200).build();
    server.start();

}
 
Example 11
Source Project: quarkus-http   Source File: Handlers.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new virtual host handler
 *
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost() {
    return new NameVirtualHostHandler();
}
 
Example 12
Source Project: quarkus-http   Source File: Handlers.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new virtual host handler using the provided default handler
 *
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost(final HttpHandler defaultHandler) {
    return new NameVirtualHostHandler().setDefaultHandler(defaultHandler);
}
 
Example 13
Source Project: quarkus-http   Source File: Handlers.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new virtual host handler that uses the provided handler as the root handler for the given hostnames.
 *
 * @param defaultHandler The default handler
 * @param hostHandler    The host handler
 * @param hostnames      The host names
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost(final HttpHandler defaultHandler, final HttpHandler hostHandler, String... hostnames) {
    return virtualHost(hostHandler, hostnames).setDefaultHandler(defaultHandler);
}
 
Example 14
Source Project: lams   Source File: Handlers.java    License: GNU General Public License v2.0 2 votes vote down vote up
/**
 * Creates a new virtual host handler
 *
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost() {
    return new NameVirtualHostHandler();
}
 
Example 15
Source Project: lams   Source File: Handlers.java    License: GNU General Public License v2.0 2 votes vote down vote up
/**
 * Creates a new virtual host handler using the provided default handler
 *
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost(final HttpHandler defaultHandler) {
    return new NameVirtualHostHandler().setDefaultHandler(defaultHandler);
}
 
Example 16
Source Project: lams   Source File: Handlers.java    License: GNU General Public License v2.0 2 votes vote down vote up
/**
 * Creates a new virtual host handler that uses the provided handler as the root handler for the given hostnames.
 *
 * @param defaultHandler The default handler
 * @param hostHandler    The host handler
 * @param hostnames      The host names
 * @return A new virtual host handler
 */
public static NameVirtualHostHandler virtualHost(final HttpHandler defaultHandler, final HttpHandler hostHandler, String... hostnames) {
    return virtualHost(hostHandler, hostnames).setDefaultHandler(defaultHandler);
}