From 608343b9d1014ab844c961f13e0efe04bf8ddbb4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 3 Feb 2018 00:57:42 -0500 Subject: [PATCH] Added HTTP methods to Net --- core/src/io/anuke/mindustry/Vars.java | 2 ++ .../io/anuke/mindustry/core/NetServer.java | 1 + core/src/io/anuke/mindustry/net/Net.java | 26 +++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index ab73d1c800..e63adeac69 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -37,6 +37,8 @@ public class Vars{ public static final float enemyspawnspace = 65; //discord group URL public static final String discordURL = "https://discord.gg/r8BkXNd"; + + public static final String serverURL = "http://localhost:3000"; //directory for user-created map data public static final FileHandle customMapDirectory = gwt ? null : UCore.isAssets ? Gdx.files.local("../../desktop/mindustry-maps") : Gdx.files.local("mindustry-maps/"); diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index caa183e5ba..8368fb6f03 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -289,6 +289,7 @@ public class NetServer extends Module{ Net.send(packet, SendMode.udp); } + if(Timers.get("serverBlockSync", blockSyncTime)){ Array connections = Net.getConnections(); diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index 52ac231076..66570cb304 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -1,5 +1,10 @@ package io.anuke.mindustry.net; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Net.HttpRequest; +import com.badlogic.gdx.Net.HttpResponse; +import com.badlogic.gdx.Net.HttpResponseListener; +import com.badlogic.gdx.net.HttpRequestBuilder; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.IntMap; import com.badlogic.gdx.utils.ObjectMap; @@ -242,6 +247,27 @@ public class Net{ active = false; } + public static void http(String method, String content, Consumer listener){ + HttpRequest req = new HttpRequestBuilder().newRequest() + .method(method).content(content).url(serverURL + "/servers").build(); + + Gdx.net.sendHttpRequest(req, new HttpResponseListener() { + @Override + public void handleHttpResponse(HttpResponse httpResponse) { + listener.accept(httpResponse.getResultAsString()); + } + + @Override + public void failed(Throwable t) { + Log.err("HTTP error:"); + Log.err(t); + } + + @Override + public void cancelled() {} + }); + } + /**Client implementation.*/ public interface ClientProvider { /**Connect to a server.*/