package org.webpieces.webserver.api.login;
import static org.webpieces.ctx.api.HttpMethod.GET;
import static org.webpieces.ctx.api.HttpMethod.POST;
import org.webpieces.router.api.routing.AbstractRoutes;
import org.webpieces.router.api.routing.PortType;
import org.webpieces.router.api.routing.Router;
public class LoginRoutes extends AbstractRoutes {
private String controller;
private String securePath;
private String sessionToken;
public LoginRoutes(String controller, String securePath) {
this(controller, securePath, LoginInfo.LOGIN_TOKEN1);
}
public LoginRoutes(String controller, String securePath, String sessionToken) {
this.controller = controller;
this.securePath = securePath;
this.sessionToken = sessionToken;
}
@Override
protected void configure() {
Router httpsRouter = router.getScopedRouter(null, true);
httpsRouter.addRoute(GET , "/logout", controller+".logout", LoginRouteId.LOGOUT);
httpsRouter.addRoute(GET , "/login", controller+".login", LoginRouteId.LOGIN);
httpsRouter.addRoute(POST, "/postLogin", controller+".postLogin", LoginRouteId.POST_LOGIN);
addFilter(securePath, LoginFilter.class, new LoginInfo(sessionToken, LoginRouteId.LOGIN), PortType.HTTPS_FILTER);
addNotFoundFilter(LoginFilter.class, new LoginInfo(sessionToken, LoginRouteId.LOGIN), PortType.HTTPS_FILTER);
}
}