This repository was archived by the owner on Mar 3, 2026. It is now read-only.
forked from jooby-project/jooby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.java
More file actions
57 lines (43 loc) · 1.29 KB
/
Copy pathApp.java
File metadata and controls
57 lines (43 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package io.jooby;
import io.jooby.internal.RouterImpl;
import io.jooby.netty.Netty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
import java.util.stream.Stream;
public class App implements Router {
private RouterImpl router = new RouterImpl();
private WebServer server;
public void start() {
start(8080, true);
}
public void start(int port, boolean join) {
this.server = new Netty();
RouterImpl router = this.router.start();
log().info(
getClass().getSimpleName() + " ready:\n" + router.toString() + "\n\nhttp://localhost:" + port + "\n");
server.start(port, router, join);
}
public void stop() {
this.server.stop();
}
@Override public Stream<Route> routes() {
return router.routes();
}
@Override public Route.Pipeline pipeline(String method, String path) {
return router.pipeline(method, path);
}
@Override public Route define(String method, String pattern, Route.Filter handler) {
return router.define(method, pattern, handler);
}
@Override public Route.ErrHandler err() {
return router.err();
}
@Override public App err(Route.ErrHandler handler) {
router.err(handler);
return this;
}
public @Nonnull Logger log() {
return LoggerFactory.getLogger(getClass());
}
}