Router as design pattern builder (without build method)
This commit is contained in:
parent
fb442f075b
commit
dc4ccce385
1 changed files with 8 additions and 5 deletions
|
@ -25,7 +25,7 @@ import org.jose4j.jwt.consumer.JwtConsumer;
|
|||
import org.jose4j.jwt.consumer.JwtConsumerBuilder;
|
||||
import org.jose4j.lang.JoseException;
|
||||
|
||||
public class Router<U extends User>{
|
||||
public class Router<U extends User>{l
|
||||
|
||||
private Map<RequestType, Map<Response, Route>> responses;
|
||||
private Map<Response, Pattern> patterns;
|
||||
|
@ -89,7 +89,7 @@ public class Router<U extends User>{
|
|||
}
|
||||
}
|
||||
|
||||
public void register(Response response){
|
||||
public Router<U> register(Response response){
|
||||
try{
|
||||
Method method = response.getClass().getDeclaredMethod("exec",
|
||||
Response.class.getDeclaredMethods()[0].getParameterTypes());
|
||||
|
@ -100,13 +100,15 @@ public class Router<U extends User>{
|
|||
}catch(Exception e){
|
||||
throw new IllegalArgumentException(e);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setDefault(Response response){
|
||||
public Router<U> setDefault(Response response){
|
||||
this.noFileFound = response;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void exec(RequestType type, String path, User user, HttpReader reader, HttpWriter writer) throws Exception{
|
||||
void exec(RequestType type, String path, User user, HttpReader reader, HttpWriter writer) throws Exception{
|
||||
if(type == null) return;
|
||||
for(Entry<Response, Route> routes : this.responses.get(type).entrySet()){
|
||||
Matcher matcher = this.patterns.get(routes.getKey()).matcher(path);
|
||||
|
@ -127,9 +129,10 @@ public class Router<U extends User>{
|
|||
if(noFileFound != null) noFileFound.exec(null, user, reader, writer);
|
||||
}
|
||||
|
||||
public void configureSSL(String keyStore, String keyStorePassword){
|
||||
public Router<U> configureSSL(String keyStore, String keyStorePassword){
|
||||
System.setProperty("javax.net.ssl.keyStore", keyStore);
|
||||
System.setProperty("javax.net.ssl.keyStorePassword", keyStorePassword);
|
||||
return this;
|
||||
}
|
||||
|
||||
public U getUser(String token) throws Exception{
|
||||
|
|
Loading…
Add table
Reference in a new issue