Add error 500

This commit is contained in:
jeffcheasey88 2023-09-08 21:32:47 +02:00
parent 896a2be120
commit d9d602bb83
2 changed files with 20 additions and 3 deletions

View file

@ -3,6 +3,8 @@ package dev.peerat.framework;
import java.net.Socket; import java.net.Socket;
import java.util.Arrays; import java.util.Arrays;
import org.jose4j.jwt.consumer.InvalidJwtException;
public class Client<U extends User> extends Thread{ public class Client<U extends User> extends Thread{
private HttpReader reader; private HttpReader reader;
@ -25,23 +27,34 @@ public class Client<U extends User> extends Thread{
System.out.println(Arrays.toString(headers)); System.out.println(Arrays.toString(headers));
reader.readHeaders(); reader.readHeaders();
context = router.exec(RequestType.valueOf(headers[0]), headers[1], isLogin(reader), reader, writer); RequestType type = RequestType.valueOf(headers[0]);
context = router.exec(type, headers[1], isLogin(router, type, reader), reader, writer);
writer.flush(); writer.flush();
writer.close(); writer.close();
}catch(InvalidJwtException e){
e.printStackTrace();
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();
if(context != null && context.getResponseCode() == 0){
try{
context.response(500);
writer.flush();
writer.close();
}catch(Exception ex){}
}
} }
if(context != null) logger.setValue(context); if(context != null) logger.setValue(context);
} }
private User isLogin(HttpReader reader) throws Exception{ private User isLogin(Router<U> router, RequestType type, HttpReader reader) throws Exception{
String auth = reader.getHeader("Authorization"); String auth = reader.getHeader("Authorization");
if(auth == null) return null; if(auth == null) return null;
auth = auth.substring(7); auth = auth.substring(7);
try{ try{
return this.router.getUser(auth); return this.router.getUser(auth);
}catch(Exception e){ }catch(Exception e){
writer.response(401, "Access-Control-Allow-Origin: *"); e.printStackTrace();
writer.response(401, router.getDefaultHeaders(type));
writer.flush(); writer.flush();
writer.close(); writer.close();
throw e; throw e;

View file

@ -92,6 +92,10 @@ public class Router<U extends User>{
return this; return this;
} }
String[] getDefaultHeaders(RequestType type){
return this.headers[type.ordinal()];
}
Context exec(RequestType type, String path, User user, HttpReader reader, HttpWriter writer) throws Exception{ Context exec(RequestType type, String path, User user, HttpReader reader, HttpWriter writer) throws Exception{
if(type == null) return null; if(type == null) return null;
Context context = new Context(type, path, user, writer, this.headers[type.ordinal()]); Context context = new Context(type, path, user, writer, this.headers[type.ordinal()]);