Add error 500
This commit is contained in:
parent
896a2be120
commit
d9d602bb83
2 changed files with 20 additions and 3 deletions
|
@ -3,6 +3,8 @@ package dev.peerat.framework;
|
|||
import java.net.Socket;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.jose4j.jwt.consumer.InvalidJwtException;
|
||||
|
||||
public class Client<U extends User> extends Thread{
|
||||
|
||||
private HttpReader reader;
|
||||
|
@ -25,23 +27,34 @@ public class Client<U extends User> extends Thread{
|
|||
System.out.println(Arrays.toString(headers));
|
||||
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.close();
|
||||
}catch(InvalidJwtException e){
|
||||
e.printStackTrace();
|
||||
}catch(Exception e){
|
||||
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);
|
||||
}
|
||||
|
||||
private User isLogin(HttpReader reader) throws Exception{
|
||||
private User isLogin(Router<U> router, RequestType type, HttpReader reader) throws Exception{
|
||||
String auth = reader.getHeader("Authorization");
|
||||
if(auth == null) return null;
|
||||
auth = auth.substring(7);
|
||||
try{
|
||||
return this.router.getUser(auth);
|
||||
}catch(Exception e){
|
||||
writer.response(401, "Access-Control-Allow-Origin: *");
|
||||
e.printStackTrace();
|
||||
writer.response(401, router.getDefaultHeaders(type));
|
||||
writer.flush();
|
||||
writer.close();
|
||||
throw e;
|
||||
|
|
|
@ -92,6 +92,10 @@ public class Router<U extends User>{
|
|||
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{
|
||||
if(type == null) return null;
|
||||
Context context = new Context(type, path, user, writer, this.headers[type.ordinal()]);
|
||||
|
|
Loading…
Add table
Reference in a new issue