Adding routes /register & /login

This commit is contained in:
jeffcheasey88 2023-02-12 13:59:46 +01:00
parent a793a0cb44
commit 1835ee6662
3 changed files with 84 additions and 0 deletions

View file

@ -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));
}
}

View file

@ -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";
}
}

View file

@ -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";
}
}