For use-cases where the Broker to hosts a shared service where different applications are assigned to be different virtual hosts the broker should offer the ability to manage these virtualhosts independently. It should behave as if it were a chrooted prison.
AMQP Management already offers this ability. The HTTP management interface should change to offer the same thing.
The REST API of a virtualhost will service the only virtualhost's subtree. The formation of the service urls will reflect this structure. /virtualhost will be analogous to /broker and will service the virtualhost root. /queue/ will serve all the queues defined on the virtualhost, /queue/<queuename> will serve only the names queue.
To offer the virtualhost service, the HTTPPort will be changed to support VirtualHostAliases. As with an AMQPPort, with a HostNameAlias, a HTTP port will be capable of presenting an interface for any virtualhost whose name matches the hostname of the incoming request. A new alias type will support a one to one mapping between port and virtualhost interface.
The scope of the initial work will be the REST API. It would be acceptable to leave the other services (SASL, structure, metadata) for a future JIRA.