<!--

    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-https"
                                 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-https" security-enabled="true">
            <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" security-enabled="false">
            <http-redirect secure="false" port="48481"/>
        </protocol>

        <protocol name="listener-http" security-enabled="false">
            <http max-connections="250" default-virtual-server="server"
                  server-name="">
                <file-cache enabled="false"/>
            </http>
        </protocol>
    </protocols>
    <network-listeners>
        <thread-pool name="defaultThreadPool"/>
        <network-listener port="48480" protocol="listener" transport="tcp"
                          name="listener" thread-pool="defaultThreadPool"/>
        <network-listener port="48481" protocol="listener-http" transport="tcp"
                          name="listener-http" thread-pool="defaultThreadPool"/>

    </network-listeners>
    <transports>
        <transport name="tcp"/>
    </transports>
</network-config>
