Skip to content

Commit

Permalink
Keeping root config in the web app setup.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Aug 20, 2016
1 parent 859bb6c commit a25a518
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 15 deletions.
17 changes: 13 additions & 4 deletions rapidoid-http-fast/src/main/java/org/rapidoid/http/HttpUtils.java
Expand Up @@ -336,18 +336,27 @@ public static String getContextPath(Req req) {
return zone(req).entry("contextPath").or("");
}

public static Config zone(Customization custom, String segment) {
return segment != null ? custom.appConfig().root().sub(segment + "-zone") : custom.appConfig();
public static BasicConfig zone(Customization custom, String segment) {
Config appConfig = custom.config().sub("app");

if (segment != null) {
String zoneKey = segment + "-zone";
Config zone = custom.config().sub(zoneKey);
return zone.or(appConfig);

} else {
return appConfig;
}
}

public static BasicConfig zone(Req req) {
Customization custom = Customization.of(req);
Config zone = zone(custom, req.segment());
return zone.or(custom.appConfig());
return zone(custom, req.segment());
}

@SuppressWarnings("unchecked")
public static Object postprocessResult(Req req, Object result) throws Exception {

if (result instanceof Req || result instanceof Resp || result instanceof HttpStatus) {
return result;

Expand Down
Expand Up @@ -38,7 +38,7 @@ public class Customization extends RapidoidThing {

private final String name;
private final Customization defaults;
private final Config appConfig;
private final Config config;
private final Config serverConfig;

private final ByType<Throwable, ErrorHandler> errorHandlers = ByType.create();
Expand Down Expand Up @@ -73,10 +73,10 @@ public class Customization extends RapidoidThing {

private volatile SessionManager sessionManager;

public Customization(String name, Customization defaults, Config appConfig, Config serverConfig) {
public Customization(String name, Customization defaults, Config config, Config serverConfig) {
this.name = name;
this.defaults = defaults;
this.appConfig = appConfig;
this.config = config;
this.serverConfig = serverConfig;

reset();
Expand Down Expand Up @@ -120,8 +120,8 @@ public Customization defaults() {
return defaults;
}

public Config appConfig() {
return appConfig;
public Config config() {
return config;
}

public Config serverConfig() {
Expand Down
12 changes: 6 additions & 6 deletions rapidoid-http-server/src/main/java/org/rapidoid/setup/Setup.java
Expand Up @@ -61,8 +61,8 @@
@Since("5.1.0")
public class Setup extends RapidoidThing implements Constants {

static final Setup ON = new Setup("app", "main", "0.0.0.0", 8888, IoC.defaultContext(), Conf.APP, Conf.ON);
static final Setup ADMIN = new Setup("admin", "admin", "0.0.0.0", 8888, IoC.defaultContext(), Conf.APP, Conf.ADMIN);
static final Setup ON = new Setup("app", "main", "0.0.0.0", 8888, IoC.defaultContext(), Conf.ROOT, Conf.ON);
static final Setup ADMIN = new Setup("admin", "admin", "0.0.0.0", 8888, IoC.defaultContext(), Conf.ROOT, Conf.ADMIN);

private static final List<Setup> instances = Coll.synchronizedList(ON, ADMIN);

Expand Down Expand Up @@ -92,7 +92,7 @@ public void run() {

private final String name;
private final String segment;
private final Config appConfig;
private final Config config;
private final Config serverConfig;

private final String defaultAddress;
Expand Down Expand Up @@ -131,7 +131,7 @@ public void destroy() {
instances.remove(this);
}

private Setup(String name, String segment, String defaultAddress, int defaultPort, IoCContext ioCContext, Config appConfig, Config serverConfig) {
private Setup(String name, String segment, String defaultAddress, int defaultPort, IoCContext ioCContext, Config config, Config serverConfig) {
this.name = name;
this.segment = segment;

Expand All @@ -140,10 +140,10 @@ private Setup(String name, String segment, String defaultAddress, int defaultPor

this.ioCContext = ioCContext;

this.appConfig = appConfig;
this.config = config;
this.serverConfig = serverConfig;

this.customization = new Customization(name, My.custom(), appConfig, serverConfig);
this.customization = new Customization(name, My.custom(), config, serverConfig);
this.routes = new HttpRoutesImpl(customization);

this.defaults.segment(segment);
Expand Down

0 comments on commit a25a518

Please sign in to comment.