Stuff
This commit is contained in:
parent
8eee21b9c3
commit
549b69235f
|
@ -6,18 +6,18 @@ import io.vertx.core.json.JsonArray;
|
||||||
import io.vertx.core.json.JsonObject;
|
import io.vertx.core.json.JsonObject;
|
||||||
import io.vertx.ext.mongo.MongoClient;
|
import io.vertx.ext.mongo.MongoClient;
|
||||||
import io.vertx.ext.web.Router;
|
import io.vertx.ext.web.Router;
|
||||||
|
import io.vertx.ext.web.impl.RouterImpl;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class APIv3 extends AbstractVerticle {
|
public class APIv3 extends AbstractVerticle {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
@Getter private static MongoClient mongoClient;
|
||||||
Vertx.vertx().deployVerticle(new APIv3());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void start() {
|
public void start() {
|
||||||
Router coreHttpRouter = Router.router(vertx);
|
Router coreHttpRouter = Router.router(vertx);
|
||||||
MongoClient mongo = MongoClient.createShared(vertx, new JsonObject()
|
mongoClient = MongoClient.createShared(vertx, new JsonObject()
|
||||||
.put("host", "ds055505.mongolab.com")
|
.put("host", "ds055505.mongolab.com")
|
||||||
.put("port", 55505)
|
.put("port", 55505)
|
||||||
.put("username", "test")
|
.put("username", "test")
|
||||||
|
@ -25,25 +25,14 @@ public class APIv3 extends AbstractVerticle {
|
||||||
.put("db_name", "minehqapi")
|
.put("db_name", "minehqapi")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// We always reply in JSON.
|
||||||
coreHttpRouter.route("/*").handler(ctx -> {
|
coreHttpRouter.route("/*").handler(ctx -> {
|
||||||
ctx.response().putHeader("content-type", "application/json");
|
ctx.response().putHeader("content-type", "application/json");
|
||||||
ctx.next();
|
ctx.next();
|
||||||
});
|
});
|
||||||
|
|
||||||
coreHttpRouter.get("/servers").handler(ctx -> {
|
coreHttpRouter.get("/servers").handler(ctx -> {
|
||||||
long start = System.currentTimeMillis();
|
|
||||||
mongo.find("servers", new JsonObject(), result -> {
|
|
||||||
if (result.succeeded()) {
|
|
||||||
if (true) {
|
|
||||||
ctx.response().end("{'time': " + (System.currentTimeMillis() - start) + "}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<JsonObject> servers = result.result();
|
|
||||||
ctx.response().end(new JsonArray(servers).encode());
|
|
||||||
} else {
|
|
||||||
result.cause().printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
vertx.createHttpServer().requestHandler(coreHttpRouter::accept).listen(80);
|
vertx.createHttpServer().requestHandler(coreHttpRouter::accept).listen(80);
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package net.frozenorb.apiv3;
|
||||||
|
|
||||||
|
import io.vertx.core.Vertx;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Vertx.vertx().deployVerticle(new APIv3());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
package net.frozenorb.apiv3.types;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.util.JSONPObject;
|
||||||
|
import io.vertx.core.AsyncResult;
|
||||||
|
import io.vertx.core.Future;
|
||||||
|
import io.vertx.core.Handler;
|
||||||
|
import io.vertx.core.json.JsonArray;
|
||||||
|
import io.vertx.core.json.JsonObject;
|
||||||
|
import lombok.Getter;
|
||||||
|
import net.frozenorb.apiv3.APIv3;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class Server {
|
||||||
|
|
||||||
|
@Getter private String id;
|
||||||
|
|
||||||
|
private static void findServers(JSONPObject query, Handler<AsyncResult<Set<Server>>> callback) {
|
||||||
|
APIv3.getMongoClient().find("servers", query, result -> {
|
||||||
|
if (result.succeeded()) {
|
||||||
|
List<JsonObject> servers = result.result();
|
||||||
|
ctx.response().end(new JsonArray(servers).encode());
|
||||||
|
|
||||||
|
servers.
|
||||||
|
} else {
|
||||||
|
callback.handle(Future.failedFuture());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue