47 lines
1.5 KiB
Java
47 lines
1.5 KiB
Java
package server.handlers;
|
|
|
|
import com.sun.net.httpserver.HttpExchange;
|
|
import com.sun.net.httpserver.HttpHandler;
|
|
import server.db.UserAccessor;
|
|
import server.handlers.common.BaseHanlder;
|
|
import shared.communication.params.ValidateUser_Param;
|
|
import shared.communication.responses.ValidateUser_Res;
|
|
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
|
|
public class ValidateUserHandler extends BaseHanlder {
|
|
|
|
private HttpHandler handler = new HttpHandler() {
|
|
@Override
|
|
public void handle(HttpExchange exchange) throws IOException {
|
|
InputStream inputStream = exchange.getRequestBody();
|
|
String request = inputStreamToString(inputStream);
|
|
|
|
ValidateUser_Param validateUserParam = ValidateUser_Param.serialize(request);
|
|
|
|
UserAccessor userAccessor = UserAccessor.find(validateUserParam.getUsername());
|
|
|
|
if(userAccessor == null) {
|
|
writeBadAuthenticationResponse(exchange);
|
|
return;
|
|
} else if(userAccessor.login(validateUserParam.getPassword())) {
|
|
String response;
|
|
ValidateUser_Res validateUserRes;
|
|
validateUserRes = new ValidateUser_Res(true, userAccessor.getModel());
|
|
response = validateUserRes.toXML();
|
|
|
|
writeSuccessResponse(exchange, response);
|
|
return;
|
|
}
|
|
|
|
writeBadAuthenticationResponse(exchange);
|
|
|
|
}
|
|
};
|
|
|
|
public HttpHandler getHandler() {
|
|
return handler;
|
|
}
|
|
}
|