From b06ed20afd8c41c799f02b9e4350583c23c82f9a Mon Sep 17 00:00:00 2001 From: jeffcheasey88 <66554203+jeffcheasey88@users.noreply.github.com> Date: Sat, 9 Sep 2023 20:24:01 +0200 Subject: [PATCH] Fix error 500 --- src/dev/peerat/framework/Client.java | 3 ++- src/dev/peerat/framework/RouteMapper.java | 7 +++++-- src/dev/peerat/framework/Router.java | 7 ++----- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/dev/peerat/framework/Client.java b/src/dev/peerat/framework/Client.java index 434cf14..a3cf77a 100644 --- a/src/dev/peerat/framework/Client.java +++ b/src/dev/peerat/framework/Client.java @@ -28,7 +28,8 @@ public class Client extends Thread{ reader.readHeaders(); RequestType type = RequestType.valueOf(headers[0]); - context = router.exec(type, headers[1], isLogin(router, type, reader), reader, writer); + context = new Context(type, headers[1], isLogin(router, type, reader), writer, router.getDefaultHeaders(type)); + router.exec(context, reader, writer); writer.flush(); writer.close(); }catch(InvalidJwtException e){ diff --git a/src/dev/peerat/framework/RouteMapper.java b/src/dev/peerat/framework/RouteMapper.java index 9c61d2b..fe84a13 100644 --- a/src/dev/peerat/framework/RouteMapper.java +++ b/src/dev/peerat/framework/RouteMapper.java @@ -31,9 +31,12 @@ public class RouteMapper{ this.dif = 2; } - public boolean exec(Context context, String path, User user, HttpReader reader, HttpWriter writer) throws Exception{ + public boolean exec(Context context, HttpReader reader, HttpWriter writer) throws Exception{ Response result = null; Matcher matcher = null; + + String path = context.getPath(); + synchronized(responses){ for(int i = 0; i < responses.length; i++){ Response response = responses[i]; @@ -41,7 +44,7 @@ public class RouteMapper{ Pattern pattern = patterns[i]; matcher = pattern.matcher(path); if(matcher.matches()){ - if(user == null && route.needLogin()){ + if((!context.isLogged()) && route.needLogin()){ writer.response(401, "Access-Control-Allow-Origin: *"); return true; } diff --git a/src/dev/peerat/framework/Router.java b/src/dev/peerat/framework/Router.java index f5647cf..d4c9a8d 100644 --- a/src/dev/peerat/framework/Router.java +++ b/src/dev/peerat/framework/Router.java @@ -96,12 +96,9 @@ public class Router{ return this.headers[type.ordinal()]; } - Context exec(RequestType type, String path, User user, HttpReader reader, HttpWriter writer) throws Exception{ - if(type == null) return null; - Context context = new Context(type, path, user, writer, this.headers[type.ordinal()]); - if(this.mappers[type.ordinal()].exec(context, path, user, reader, writer)) return context; + void exec(Context context, HttpReader reader, HttpWriter writer) throws Exception{ + if(this.mappers[context.getType().ordinal()].exec(context, reader, writer)) return; if(noFileFound != null) noFileFound.exec(null, context, reader, writer); - return context; } public Router configureSSL(String keyStore, String keyStorePassword){