private UrlRewriteStepStatus getUrlRewriteStepStatus(UrlRewriteContext context, Builder newUrl, Map<String, Query> map, UrlRewriteStepStatus status, String value) { if( value != null ) { StringTokenizer outerParser = new StringTokenizer( value, "&" ); while( outerParser.hasMoreTokens() ) { String pair = outerParser.nextToken(); StringTokenizer innerParser = new StringTokenizer( pair, "=" ); if( innerParser.hasMoreTokens() ) { String paramName = innerParser.nextToken(); if( innerParser.hasMoreTokens() ) { String paramValue = innerParser.nextToken(); // Need to remove from the clear parameters any param name in the encoded params. // If we don't then someone could override something in the encoded param. map.remove( paramName ); newUrl.addQuery( paramName, "", paramValue, true ); } else { newUrl.addQuery( paramName, "", null, true ); } } } context.setCurrentUrl( newUrl.build() ); context.getParameters().resolve( "gateway.name" ); status = UrlRewriteStepStatus.SUCCESS; } return status; }
@Override public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception { //TODO: Need some way to get a reference to the keystore service and the encryption key in particular. Template url = context.getCurrentUrl(); String str = url.toString(); String path = str; String query = null; int index = str.indexOf( '?' ); if( index >= 0 ) { path = str.substring( 0, index ); if( index < str.length() ) { query = str.substring( index + 1 ); } } if( query != null ) { query = Base64.encodeBase64String( query.getBytes( StandardCharsets.UTF_8 ) ); query = removeTrailingEquals( query ); url = Parser.parseLiteral( path + "?" + ENCODED_PARAMETER_NAME +"=" + query ); context.setCurrentUrl( url ); } return UrlRewriteStepStatus.SUCCESS; }
@Override public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception { //TODO: Need some way to get a reference to the keystore service and the encryption key in particular. Template url = context.getCurrentUrl(); String str = url.toString(); String path = str; String query = null; int index = str.indexOf( '?' ); if( index >= 0 ) { path = str.substring( 0, index ); if( index < str.length() ) { query = str.substring( index + 1 ); } } if( query != null ) { query = Base64.encodeBase64String( query.getBytes( StandardCharsets.UTF_8 ) ); query = removeTrailingEquals( query ); url = Parser.parseLiteral( path + "?" + ENCODED_PARAMETER_NAME +"=" + query ); context.setCurrentUrl( url ); } return UrlRewriteStepStatus.SUCCESS; }
@Override public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception { //TODO: Need some way to get a reference to the keystore service and the encryption key in particular. Template url = context.getCurrentUrl(); String str = url.toString(); String path = str; String query = null; int index = str.indexOf( '?' ); if( index >= 0 ) { path = str.substring( 0, index ); if( index < str.length() ) { query = str.substring( index + 1 ); } } if( query != null ) { query = encode( query ); url = Parser.parseLiteral( path + "?" + ENCRYPTED_PARAMETER_NAME +"=" + query ); context.setCurrentUrl( url ); } return UrlRewriteStepStatus.SUCCESS; }
private UrlRewriteStepStatus getUrlRewriteStepStatus(UrlRewriteContext context, Builder newUrl, Map<String, Query> map, UrlRewriteStepStatus status, String value) { if( value != null ) { StringTokenizer outerParser = new StringTokenizer( value, "&" ); while( outerParser.hasMoreTokens() ) { String pair = outerParser.nextToken(); StringTokenizer innerParser = new StringTokenizer( pair, "=" ); if( innerParser.hasMoreTokens() ) { String paramName = innerParser.nextToken(); if( innerParser.hasMoreTokens() ) { String paramValue = innerParser.nextToken(); // Need to remove from the clear parameters any param name in the encoded params. // If we don't then someone could override something in the encoded param. map.remove( paramName ); newUrl.addQuery( paramName, "", paramValue, true ); } else { newUrl.addQuery( paramName, "", null, true ); } } } context.setCurrentUrl( newUrl.build() ); context.getParameters().resolve( "gateway.name" ); status = UrlRewriteStepStatus.SUCCESS; } return status; }
@Override public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception { Template rewritten = expander.expandToTemplate( template, context.getParameters(), context.getEvaluator() ); context.setCurrentUrl( rewritten ); return UrlRewriteStepStatus.SUCCESS; }
@Override public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception { //TODO: Need some way to get a reference to the keystore service and the encryption key in particular. Template url = context.getCurrentUrl(); String str = url.toString(); String path = str; String query = null; int index = str.indexOf( '?' ); if( index >= 0 ) { path = str.substring( 0, index ); if( index < str.length() ) { query = str.substring( index + 1 ); } } if( query != null ) { query = encode( query ); url = Parser.parseLiteral( path + "?" + ENCRYPTED_PARAMETER_NAME +"=" + query ); context.setCurrentUrl( url ); } return UrlRewriteStepStatus.SUCCESS; }
@Override public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception { Template rewritten = expander.expandToTemplate( template, context.getParameters(), context.getEvaluator() ); context.setCurrentUrl( rewritten ); return UrlRewriteStepStatus.SUCCESS; }
context.setCurrentUrl( newUrl.build() );
context.setCurrentUrl( newUrl.build() );