Main.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package highlevel;
  2. import common.Helper;
  3. import common.Message;
  4. import org.rapidoid.commons.Err;
  5. import org.rapidoid.config.Conf;
  6. import org.rapidoid.env.Env;
  7. import org.rapidoid.http.MediaType;
  8. import org.rapidoid.jdbc.JDBC;
  9. import org.rapidoid.jdbc.JdbcClient;
  10. import org.rapidoid.setup.App;
  11. import org.rapidoid.setup.On;
  12. public class Main {
  13. public static void main(String[] args) {
  14. App.run(args);
  15. Conf.HTTP.set("maxPipeline", 128);
  16. Conf.HTTP.set("timeout", 0);
  17. Conf.HTTP.sub("mandatoryHeaders").set("connection", false);
  18. On.port(8080);
  19. if (Env.hasAnyProfile("mysql", "postgres")) {
  20. setupDbHandlers();
  21. } else {
  22. setupSimpleHandlers();
  23. }
  24. }
  25. private static void setupSimpleHandlers() {
  26. On.get("/plaintext").managed(false).contentType(MediaType.TEXT_PLAIN).serve("Hello, world!");
  27. On.get("/json").managed(false).json(() -> new Message("Hello, world!"));
  28. }
  29. private static void setupDbHandlers() {
  30. JdbcClient jdbc = JDBC.api();
  31. if (Env.hasProfile("mysql")) {
  32. jdbc.url("jdbc:mysql://tfb-database:3306/hello_world?" + Helper.MYSQL_CONFIG);
  33. } else if (Env.hasProfile("postgres")) {
  34. jdbc.url("jdbc:postgresql://tfb-database:5432/hello_world?" + Helper.POSTGRES_CONFIG);
  35. } else {
  36. throw Err.notExpected();
  37. }
  38. On.get("/fortunes").managed(false).html(new FortunesHandler(jdbc));
  39. }
  40. }