<IfModule proxy_module>
    ProxyPreserveHost on

    # Map /fabric to the onos instance that is controlling the leaf
    #     spine fabric
    <Location /fabric/>
        ProxyPass http://onos-fabric:8181/
        ProxyPassReverse http://onos-fabric:8181/
        ProxyPassReverseCookiePath  "/"  "/fabric/"
        Header edit Location "(^http[s]?://[^/]*)(\.*)" "$1/fabric$2"
    </Location>

    <Location /fabric/onos/ui/websock/>
        ProxyPass "ws://onos-fabric:8181/onos/ui/websock/" disablereuse=on
    </Location>

    # Map /vtn to the onos instance that is controller the cordvtn
    #     application
    <Location /vtn/>
        ProxyPass http://onos-cord:8182/
        ProxyPassReverse http://onos-cord:8182/
        ProxyPassReverseCookiePath  "/"  "/vtn/"
        Header edit Location "(^http[s]?://[^/]*)(\.*)" "$1/vtn$2"
    </Location>

    <Location /vtn/onos/ui/websock/>
        ProxyPass "ws://onos-cord:8182/onos/ui/websock/" disablereuse=on
    </Location>

    # Cord SPA and rest-gw
    ProxyPass /spa http://xos-spa-gui:4000
    ProxyPass /spa/api http://xos-rest-gw:3000/api
    ProxyPass /spa/socket.io http://xos-rest-gw:3000/socket.io
    ProxyPass /socket.io http://xos-rest-gw:3000/socket.io
    <Location /socket.io>
        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
        RewriteRule .* ws://xos-rest-gw:3000%{REQUEST_URI} [P]
    </Location>
    
    # Map the various XOS roots to the XOS instance
    ProxyPass /xos http://xos:9000
    ProxyPass /xos/ http://xos:9000/
    ProxyPassMatch /(api)$ http://xos:9000/$1/
    ProxyPass /api/ http://xos:9000/api/
    ProxyPass /login http://xos:9000/login
    ProxyPass /admin/ http://xos:9000/admin/
    ProxyPass /static/ http://xos:9000/static/
    ProxyPass /loggedin/ http://xos:9000/loggedin/
    ProxyPass /serviceGrid/ http://xos:9000/serviceGrid/

    ProxyPass /xosapi/ http://xos-chameleon:9101/xosapi/
</IfModule>

<IfModule rewrite_module>
    RewriteEngine On
    # Redirect (permanently) requests for /MAAS to /MAAS/.
    RewriteRule ^/MAAS$ %{REQUEST_URI}/ [R=301,L]
</IfModule>

# Redirects so that basic URLs entered go the right place
Redirect /fabric /fabric/onos/ui
Redirect /vtn /vtn/onos/ui
