package org.jooby; import org.jooby.test.ServerFeature; import org.junit.Test; import com.google.inject.Binder; import com.google.inject.Key; import com.google.inject.name.Names; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; import com.typesafe.config.ConfigValueFactory; public class EnvCallbackReloadConfFeature extends ServerFeature { { Key<String> key = Key.get(String.class, Names.named(("envvar"))); on("dev", () -> { use(new Jooby.Module() { @Override public void configure(final Env env, final Config conf, final Binder binder) { binder.bind(key).toInstance(conf.getString("envvar")); } @Override public Config config() { return ConfigFactory.empty().withValue("envvar", ConfigValueFactory.fromAnyRef("foo")); } }); }); get("/", req -> req.require(key)); } @Test public void devCallback() throws Exception { request().get("/").expect("foo"); } }