<!--

    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="https-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 name="https-redirect" security-enabled="true">
            <http-redirect secure="true" port="48481"/>
            <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="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>
    </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-https" transport="tcp"
                          name="listener-https" thread-pool="defaultThreadPool"/>

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