On 3/17/10 9:20 AM, Bertrand Delacretaz wrote:
> On Wed, Mar 17, 2010 at 2:08 PM, Justin Edelson
<[email protected]> wrote:
>> ... For example, if you think about how Google App Engine allows you to
>> reference arbitrary versions of your application with a host name like
>> version.appname.appspot.com (IIRC), one could imagine using the host
>> header to select the workspace which corresponds to the requested
>> version (and according to David's Model, this is a totally valid use of
>> workspaces)....
>
> I like the idea of using an HTTP header to select workspaces
This is a naive implementation, but you can do this...
@Component
@Service
public class WorkspacePicker implements AuthenticationInfoPostProcessor {
public void postProcess(AuthenticationInfo info, HttpServletRequest
request, HttpServletResponse response) {
String host = request.getHeader("Host");
if (host != null) {
String[] parts = host.split("\\.");
if (parts.length == 4) {
info.put(AuthenticationInfo.WORKSPACE, parts[0]);
}
}
}
}
> - and the
> name of the "default scripts" workspace to use might be stored as a
> property at the root node of the "private" workspace, or defined by
> configuration of the script resource resolver.
I'll probably just implement a configuration property for now; even if
we supported a root node property, we'll need a default.
Thanks,
Justin
>
> -Bertrand