<!--

    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<network-config>
    <protocols>

        <protocol name="listener">
            <port-unification>
                <protocol-finder protocol="listener-http"
                                 classname="org.glassfish.grizzly.config.portunif.HttpProtocolFinder"
                                 name="http-finder"/>
                <protocol-finder protocol="http-redirect"
                                 classname="org.glassfish.grizzly.config.portunif.HttpProtocolFinder"
                                 name="http-redirect"/>
            </port-unification>
        </protocol>

        <protocol name="listener-http">
            <http max-connections="250" default-virtual-server="server"
                  server-name="">
                <file-cache enabled="false"/>
            </http>
        </protocol>

        <protocol security-enabled="true" name="http-redirect">
            <http-redirect />
            <ssl ssl3-enabled="false"
                 trust-store="target/test-classes/cacerts.jks"
                 trust-store-password="changeit"
                 key-store="target/test-classes/keystore.jks"
                 key-store-password="changeit"/>
        </protocol>

    </protocols>
    <network-listeners>
        <thread-pool name="defaultThreadPool"/>
        <network-listener port="48480" protocol="listener" transport="tcp"
                          name="listener" thread-pool="defaultThreadPool"/>
    </network-listeners>
    <transports>
        <transport name="tcp"/>
    </transports>
</network-config>
