/** * @return The information about the matching browser or <code>null</code> if * no known browser was detected. */ @Nullable default BrowserInfo getBrowserInfo () { return getUserAgent ().getBrowserInfo (); }
/** * Modify the passed {@link LoginInfo} object with details of the passed request * scope. This method is called for every request! * * @param aLoginInfo * Login Info. Never <code>null</code>. * @param aRequestScope * The current request scope. * @param bLoggedInInThisRequest * <code>true</code> if the user just logged in with this request. Added * in 3.4.0. */ @OverrideOnDemand protected void modifyLoginInfo (@Nonnull final LoginInfo aLoginInfo, @Nonnull final IRequestWebScopeWithoutResponse aRequestScope, final boolean bLoggedInInThisRequest) { // Set some debugging details aLoginInfo.attrs ().putIn (LOGIN_INFO_REMOTE_ADDRESS, aRequestScope.getRemoteAddr ()); aLoginInfo.attrs ().putIn (LOGIN_INFO_REMOTE_HOST, aRequestScope.getRemoteHost ()); aLoginInfo.attrs ().putIn (LOGIN_INFO_REQUEST_URI, aRequestScope.getRequestURI ()); aLoginInfo.attrs ().putIn (LOGIN_INFO_QUERY_STRING, aRequestScope.getQueryString ()); aLoginInfo.attrs ().putIn (LOGIN_INFO_USER_AGENT, aRequestScope.getUserAgent ().getAsString ()); aLoginInfo.attrs () .putIn (LOGIN_INFO_REQUEST_COUNT, Integer.toString (aLoginInfo.attrs ().getAsInt (LOGIN_INFO_REQUEST_COUNT, 0) + 1)); }