<!--

    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 security-enabled="true" name="listener-http">
            <http max-connections="250" default-virtual-server="server"
                  server-name="">
                <file-cache enabled="false"/>
            </http>
            <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>

        <protocol name="http-redirect">
            <http-redirect secure="true" />
        </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>
