@Override public void doFilter( ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain ) throws IOException, ServletException { try { final HttpServletRequest request = (HttpServletRequest) servletRequest; String ua = request.getHeader( "User-Agent" ); if ( ua != null && !ua.isEmpty() ) { output.add( ua.split( " " )[0] ); } } catch ( RuntimeException e ) { // We're fine with that } filterChain.doFilter( servletRequest, servletResponse ); }
@Override public void udcRegisterClient( String clientName ) { usageData.get( UsageDataKeys.clientNames ).add( clientName ); }
private RecentK<Integer> appendSequence( int ... items ) { RecentK<Integer> recentK = new RecentK<>( 3 ); for ( int item : items ) { recentK.add( item ); } return recentK; } }
@Test void shouldIncludeRecentClientNames() { // Given usageData.get( UsageDataKeys.clientNames ).add( "SteveBrookClient/1.0" ); usageData.get( UsageDataKeys.clientNames ).add( "MayorClient/1.0" ); // When & Then String userAgents = collector.getUdcParams().get( UdcConstants.USER_AGENTS ); if ( !(userAgents.equals( "SteveBrookClient/1.0,MayorClient/1.0" ) || userAgents.equals( "MayorClient/1.0,SteveBrookClient/1.0" )) ) { fail( "Expected \"SteveBrookClient/1.0,MayorClient/1.0\" or \"MayorClient/1.0,SteveBrookClient/1.0\", " + "got \"" + userAgents + "\"" ); } }
@Override public void udcRegisterClient( String clientName ) { usageData.get( UsageDataKeys.clientNames ).add( clientName ); }
@Override public void doFilter( ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain ) throws IOException, ServletException { try { final HttpServletRequest request = (HttpServletRequest) servletRequest; String ua = request.getHeader( "User-Agent" ); if ( ua != null && !ua.isEmpty() ) { output.add( ua.split( " " )[0] ); } } catch ( RuntimeException e ) { // We're fine with that } filterChain.doFilter( servletRequest, servletResponse ); }