Update not logged-in system

This commit is contained in:
jeffcheasey88 2023-03-18 14:38:17 +01:00
parent f23e139b9f
commit eb5f62c19d
6 changed files with 17 additions and 14 deletions

View file

@ -8,12 +8,9 @@ import be.jeffcheasey88.peeratcode.webserver.HttpWriter;
import be.jeffcheasey88.peeratcode.webserver.Response;
import be.jeffcheasey88.peeratcode.webserver.User;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.util.Arrays;
import java.util.Base64;
import java.util.SortedSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -57,4 +54,9 @@ public class PlayerDetails implements Response {
public Pattern getPattern() {
return Pattern.compile("^\\/player\\/(.+)?$");
}
@Override
public boolean needLogin(){
return true;
}
}

View file

@ -29,10 +29,6 @@ public class PuzzleResponse implements Response {
@Override
public void exec(Matcher matcher, User user, HttpReader reader, HttpWriter writer) throws Exception {
if (user == null) {
HttpUtil.responseHeaders(writer, 403, "Access-Control-Allow-Origin: *");
return;
}
ReceivedResponse received = new ReceivedResponse(matcher, reader);
saveSourceCode(received, databaseRepo.getPlayer(user.getId()));
@ -69,6 +65,11 @@ public class PuzzleResponse implements Response {
public String getType() {
return "POST";
}
@Override
public boolean needLogin(){
return true;
}
}
class ReceivedResponse {

View file

@ -20,11 +20,6 @@ public class Result implements Response{
@Override
public void exec(Matcher matcher, User user, HttpReader reader, HttpWriter writer) throws Exception {
if(user == null){
HttpUtil.responseHeaders(writer, 403, "Access-Control-Allow-Origin: *");
return;
}
int puzzle = Integer.parseInt(matcher.group(1));
int score = this.repo.getScore(user.getId(), puzzle);
@ -41,5 +36,8 @@ public class Result implements Response{
return Pattern.compile("^\\/result\\/(\\d+)$");
}
@Override
public boolean needLogin(){
return true;
}
}

View file

@ -54,7 +54,6 @@ public class Client extends Thread{
JwtClaims jwtClaims = jwtConsumer.processToClaims(auth);
return new User(jwtClaims);
}catch(Exception e){
e.printStackTrace();
HttpUtil.responseHeaders(writer, 401, "Access-Control-Allow-Origin: *");
}
return null;

View file

@ -10,4 +10,6 @@ public interface Response{
Pattern getPattern();
default String getType(){ return "GET"; }
default boolean needLogin() { return false; }
}

View file

@ -47,6 +47,7 @@ public class Router{
if(type.equals(response.getType())){
Matcher matcher = response.getPattern().matcher(path);
if(matcher.matches()){
if(user == null && response.needLogin()) return;
response.exec(matcher, user, reader, writer);
return;
}