public KojiSessionInfo login()
throws KojiClientException
{
checkConnection();
if ( config.getKrbService() != null )
{
return krbLogin();
}
try
{
UrlBuilder urlBuilder = ( url ) -> new UrlBuildResult( UrlUtils.buildUrl( url, SSL_LOGIN_PATH ) );
RequestModifier requestModifier =
( request ) -> request.setHeader( ACCEPT_ENCODING_HEADER, IDENTITY_ENCODING_VALUE );
LoginResponse loginResponse =
xmlrpcClient.call( new LoginRequest(), LoginResponse.class, urlBuilder, requestModifier );
if ( loginResponse == null )
{
throw new KojiClientException( "Failed to get loginResponse" );
}
KojiSessionInfo session = loginResponse.getSessionInfo();
setLoggedInUser( session );
return session;
}
catch ( XmlRpcException e )
{
throw new KojiClientException( "Failed to login: %s", e, e.getMessage() );
}
}