Anshul Bansal a6c090f66b BAEL_3760-Introduction-to-Takes (#8767)
* Initial commit

* Intro to Takes

* Takes - code

* Code changes

* Takes - unit and integration test

* Takes - hit-refresh feature

* Takes - renamed hit-refresh to reload

* Takes - review changes
2020-03-01 13:07:50 +00:00

42 lines
1.4 KiB
Java

package com.baeldung.takes;
import java.io.IOException;
import java.sql.SQLException;
import org.takes.Response;
import org.takes.facets.fallback.Fallback;
import org.takes.facets.fallback.FbChain;
import org.takes.facets.fallback.FbStatus;
import org.takes.facets.fallback.RqFallback;
import org.takes.facets.fallback.TkFallback;
import org.takes.facets.fork.FkRegex;
import org.takes.facets.fork.TkFork;
import org.takes.http.Exit;
import org.takes.http.FtBasic;
import org.takes.misc.Opt;
import org.takes.rs.RsText;
public final class TakesApp {
public static void main(final String... args) throws IOException, SQLException {
new FtBasic(
new TkFallback(
new TkFork(
new FkRegex("/", new TakesHelloWorld()),
new FkRegex("/index", new TakesIndex()),
new FkRegex("/contact", new TakesContact())
),
new FbChain(
new FbStatus(404, new RsText("Page Not Found")),
new FbStatus(405, new RsText("Method Not Allowed")),
new Fallback() {
@Override
public Opt<Response> route(final RqFallback req) {
return new Opt.Single<Response>(new RsText(req.throwable().getMessage()));
}
})
), 6060
).start(Exit.NEVER);
}
}