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

    # kibana/elasticsearch
    <Location /kibana>
      ProxyPass http://localhost:5601
      ProxyPassReverse http://localhost:5601
    </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-gui:4000
    ProxyPass /spa/socket.io http://xos-ws:3000/socket.io
    ProxyPass /socket.io http://xos-ws:3000/socket.io
    <Location /socket.io>
        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
        RewriteRule .* ws://xos-ws: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
