ResponseMapper (base)
This commit is contained in:
parent
bbb842887b
commit
dfeb611532
3 changed files with 24 additions and 2 deletions
7
src/dev/peerat/framework/ResponseMapper.java
Normal file
7
src/dev/peerat/framework/ResponseMapper.java
Normal file
|
@ -0,0 +1,7 @@
|
|||
package dev.peerat.framework;
|
||||
|
||||
public interface ResponseMapper{
|
||||
|
||||
void map(Context context, HttpReader reader, HttpWriter writer, Object result) throws Exception;
|
||||
|
||||
}
|
|
@ -97,7 +97,7 @@ public class RouteMapper<U extends User>{
|
|||
Object[] inv = target.getBinder().bindMethod(target.getMethod(), matcher, context, reader, writer, params);
|
||||
Object result = target.getMethod().invoke(target.getInstance(), inv);
|
||||
if(result == null) return true;
|
||||
//TODO MAP OBJECT TO RESPONSE
|
||||
router.getMapper().map(context, reader, writer, result);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -24,6 +24,7 @@ public class Router<U extends User>{
|
|||
private Response noFileFound;
|
||||
private Authenticator<U> auth;
|
||||
private String[][] headers;
|
||||
private ResponseMapper responseMapper;
|
||||
private ServerSocket serverSocket;
|
||||
|
||||
public Router(){
|
||||
|
@ -50,6 +51,11 @@ public class Router<U extends User>{
|
|||
return this;
|
||||
}
|
||||
|
||||
public Router<U> setMapper(ResponseMapper mapper){
|
||||
this.responseMapper = mapper;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Router<U> register(Response response){
|
||||
try{
|
||||
Method method = response.getClass().getDeclaredMethod("exec",
|
||||
|
@ -158,6 +164,10 @@ public class Router<U extends User>{
|
|||
return this.headers[type.ordinal()];
|
||||
}
|
||||
|
||||
public ResponseMapper getMapper(){
|
||||
return this.responseMapper;
|
||||
}
|
||||
|
||||
public Authenticator<U> getAuthenticator(){
|
||||
return this.auth;
|
||||
}
|
||||
|
@ -193,8 +203,13 @@ public class Router<U extends User>{
|
|||
return this.exceptions;
|
||||
}
|
||||
|
||||
public void listen(int port, boolean ssl) throws Exception{
|
||||
private void checkStart(){
|
||||
bindAll();
|
||||
if(this.responseMapper == null) this.responseMapper = (c,r,w,o) -> {};
|
||||
}
|
||||
|
||||
public void listen(int port, boolean ssl) throws Exception{
|
||||
checkStart();
|
||||
if (ssl) { // Not needed with the use of a proxy
|
||||
try {
|
||||
SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
|
||||
|
|
Loading…
Add table
Reference in a new issue