diff --git a/src/be/jeffcheasey88/peeratcode/Main.java b/src/be/jeffcheasey88/peeratcode/Main.java index aabecea..73b592f 100644 --- a/src/be/jeffcheasey88/peeratcode/Main.java +++ b/src/be/jeffcheasey88/peeratcode/Main.java @@ -10,7 +10,9 @@ import java.util.regex.Pattern; import be.jeffcheasey88.peeratcode.repository.DatabaseRepository; import be.jeffcheasey88.peeratcode.routes.ChapterElement; import be.jeffcheasey88.peeratcode.routes.ChapterList; +import be.jeffcheasey88.peeratcode.routes.Login; import be.jeffcheasey88.peeratcode.routes.PuzzleElement; +import be.jeffcheasey88.peeratcode.routes.Register; import be.jeffcheasey88.peeratcode.webserver.Client; import be.jeffcheasey88.peeratcode.webserver.HttpReader; import be.jeffcheasey88.peeratcode.webserver.HttpUtil; @@ -59,6 +61,8 @@ public class Main { router.register(new ChapterElement(repo)); router.register(new ChapterList(repo)); router.register(new PuzzleElement(repo)); + router.register(new Register(repo)); + router.register(new Login(repo)); } } diff --git a/src/be/jeffcheasey88/peeratcode/routes/Login.java b/src/be/jeffcheasey88/peeratcode/routes/Login.java new file mode 100644 index 0000000..145eb3e --- /dev/null +++ b/src/be/jeffcheasey88/peeratcode/routes/Login.java @@ -0,0 +1,40 @@ +package be.jeffcheasey88.peeratcode.routes; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.json.simple.JSONObject; + +import be.jeffcheasey88.peeratcode.repository.DatabaseRepository; +import be.jeffcheasey88.peeratcode.webserver.HttpReader; +import be.jeffcheasey88.peeratcode.webserver.HttpUtil; +import be.jeffcheasey88.peeratcode.webserver.HttpWriter; +import be.jeffcheasey88.peeratcode.webserver.Response; + +public class Login implements Response{ + + private DatabaseRepository repo; + + public Login(DatabaseRepository repo){ + this.repo = repo; + } + + @Override + public void exec(Matcher matcher, HttpReader reader, HttpWriter writer) throws Exception { + HttpUtil.skipHeaders(reader); + JSONObject json = (JSONObject) HttpUtil.readJson(reader); + + HttpUtil.responseHeaders(writer, 200, "Access-Control-Allow-Origin: *"); + } + + @Override + public Pattern getPattern() { + return Pattern.compile("^\\/login$"); + } + + @Override + public String getType(){ + return "POST"; + } + +} \ No newline at end of file diff --git a/src/be/jeffcheasey88/peeratcode/routes/Register.java b/src/be/jeffcheasey88/peeratcode/routes/Register.java new file mode 100644 index 0000000..75e52de --- /dev/null +++ b/src/be/jeffcheasey88/peeratcode/routes/Register.java @@ -0,0 +1,40 @@ +package be.jeffcheasey88.peeratcode.routes; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.json.simple.JSONObject; + +import be.jeffcheasey88.peeratcode.repository.DatabaseRepository; +import be.jeffcheasey88.peeratcode.webserver.HttpReader; +import be.jeffcheasey88.peeratcode.webserver.HttpUtil; +import be.jeffcheasey88.peeratcode.webserver.HttpWriter; +import be.jeffcheasey88.peeratcode.webserver.Response; + +public class Register implements Response{ + + private DatabaseRepository repo; + + public Register(DatabaseRepository repo){ + this.repo = repo; + } + + @Override + public void exec(Matcher matcher, HttpReader reader, HttpWriter writer) throws Exception { + HttpUtil.skipHeaders(reader); + JSONObject json = (JSONObject) HttpUtil.readJson(reader); + + HttpUtil.responseHeaders(writer, 200, "Access-Control-Allow-Origin: *"); + } + + @Override + public Pattern getPattern() { + return Pattern.compile("^\\/register$"); + } + + @Override + public String getType(){ + return "POST"; + } + +}