/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.web.portal.instanttrace; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; import com.enonic.cms.core.Path; import com.enonic.cms.core.PathAndParams; import com.enonic.cms.core.PathAndParamsToStringBuilder; public final class InstantTraceRequestInspector { public static boolean isClientEnabled( final HttpServletRequest request ) { return "true".equals( request.getHeader( "X-Instant-Trace-Enabled" ) ); } public static boolean isAuthenticationSubmitted( final HttpServletRequest request ) { if ( !"POST".equalsIgnoreCase( request.getMethod() ) ) { return false; } String userName = request.getParameter( "_itrace_username" ); String password = request.getParameter( "_itrace_password" ); if ( userName != null && password != null ) { return true; } return false; } public static void setAttributeOriginalUrl( final PathAndParams pathAndParams, final HttpServletRequest request ) { final PathAndParamsToStringBuilder builder = new PathAndParamsToStringBuilder(); builder.setIncludeFragment( true ); builder.setIncludeParamsInPath( true ); String originalUrl = builder.toString( pathAndParams ); request.setAttribute( "itrace.originalUrl", originalUrl ); } public static InstantTraceId getInstantTraceId( final Path path ) { String s = path.getPathElementAfter( InstantTracePathInspector.TRACE_INFO_PATH_ELEMENTS ); if ( StringUtils.isBlank( s ) ) { return null; } return new InstantTraceId( s ); } public static String getParameterUsername( final HttpServletRequest request ) { return request.getParameter( "_itrace_username" ); } public static String getParameterPassword( final HttpServletRequest request ) { return request.getParameter( "_itrace_password" ); } public static String getParameterUserstore( final HttpServletRequest request ) { return request.getParameter( "_itrace_userstore" ); } public static String getParameterOriginalUrl( final HttpServletRequest request ) { return request.getParameter( "_itrace_original_url" ); } public static String getOriginalUrl( final HttpServletRequest request ) { String originalUrl = (String) request.getAttribute( "itrace.originalUrl" ); if ( StringUtils.isBlank( originalUrl ) ) { return getParameterOriginalUrl( request ); } return originalUrl; } }