如何在Revel中实现基于子域的模块

I was wondering is there any example or good practice in Revel of making application module, related to subdomain.

For example, we have site.com, which is default application module and want to add an additional admin module for admin.site.com subdomain. The main problem I can see at this point is that we need to

  1. dynamically determine what module should be used (using an interceptor before request)
  2. switch routing in order to avoid collisions (since there may be overlapping routes, such as / for default module and / for admin module)

Does anyone implemented such application architecture in revel? Any related advice would be very helpful.