<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/
</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
