Package org.apache.hadoop.gateway.util.urltemplate

Examples of org.apache.hadoop.gateway.util.urltemplate.Template


    String sourcePathInfo = request.getPathInfo();
    String sourcePattern = getConfig().getInitParameter( "pattern" );
    String targetPattern = getConfig().getInitParameter( "target" );

    //TODO: Some of the compilation should be done at servlet init for performance reasons.
    Template sourceTemplate = Parser.parse( sourcePattern );
    Template targetTemplate = Parser.parse( targetPattern );

    Resolver resolver = new DispatchParamResolver( getConfig(), request );
    URI sourceUri = new URI( sourcePathInfo );
    URI targetUri = Rewriter.rewrite( sourceUri, sourceTemplate, targetTemplate, resolver );
View Full Code Here


    rewrite.template( "{*}://{$hostmap(host)}:{*}/{**}?{**}" );

    UrlRewriteProcessor rewriter = new UrlRewriteProcessor();
    rewriter.initialize( environment, descriptor );

    Template input = Parser.parse( "test-scheme://test-inbound-host:42/test-path/test-file?test-name=test-value" );
    Template output = rewriter.rewrite( resolver, input, UrlRewriter.Direction.IN );
    System.out.println( output );
    assertThat( output, notNullValue() );
    assertThat( output.getHost().getFirstValue().getPattern(), is( "test-inbound-rewritten-host" ) );
  }
View Full Code Here

    BASE64Encoder encoder = new BASE64Encoder();
    String encQuery = encoder.encode( "test-query".getBytes("utf-8" ) );
    encQuery = encQuery.replaceAll( "\\=", "" );
    String inString = "http://host:0/root/path?_=" + encQuery;
    Template inTemplate = Parser.parse( inString );

    UrlRewriteContext context = EasyMock.createNiceMock( UrlRewriteContext.class );
    EasyMock.expect( context.getCurrentUrl() ).andReturn( inTemplate );
    Capture<Template> outTemplate = new Capture<Template>();
    context.setCurrentUrl( EasyMock.capture( outTemplate ) );
View Full Code Here

    BASE64Encoder encoder = new BASE64Encoder();
    String inQuery = "test-query=test-value";
    String encQuery = encoder.encode( inQuery.getBytes( "utf-8" ) );
    encQuery = encQuery.replaceAll( "\\=", "" );
    String inString = "http://host:0/root/path?_=" + encQuery + "&clear-param=clear-value";
    Template inTemplate = Parser.parse( inString );

    UrlRewriteContext context = EasyMock.createNiceMock( UrlRewriteContext.class );
    EasyMock.expect( context.getCurrentUrl() ).andReturn( inTemplate );
    Capture<Template> outTemplate = new Capture<Template>();
    context.setCurrentUrl( EasyMock.capture( outTemplate ) );
View Full Code Here

  @Test
  public void testSimpleQueryEncoding() throws Exception {
    UrlRewriteEnvironment environment = EasyMock.createNiceMock( UrlRewriteEnvironment.class );

    Template inTemplate = Parser.parse( "http://host:0/root/path?query" );
    UrlRewriteContext context = EasyMock.createNiceMock( UrlRewriteContext.class );
    EasyMock.expect( context.getCurrentUrl() ).andReturn( inTemplate );
    Capture<Template> outTemplate = new Capture<Template>();
    context.setCurrentUrl( EasyMock.capture( outTemplate ) );
View Full Code Here

    //TODO: The resulting pathInfo + query needs to be added to the servlet context somehow so that filters don't need to rebuild it.  This is done in HttpClientDispatch right now for example.
    String query = httpRequest.getQueryString();
    String path = httpRequest.getPathInfo() + ( query == null ? "" : "?" + query );

    Template pathTemplate;
    try {
      pathTemplate = Parser.parse( path );
    } catch( URISyntaxException e ) {
      throw new ServletException( e );
    }
View Full Code Here

  }

  @Override
  public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception {
    if( param != null && !param.isEmpty() ) {
      Template template = Parser.parse( "{" + param + "}" );
      String resolvedTemplate = Expander.expandToString( template, context.getParameters(), context.getEvaluator() );
      String url = decode( resolvedTemplate );
      EncryptStepContextParams params = new EncryptStepContextParams();
      params.addParam( param, Arrays.asList( url ) );
      context.addParameters( params );
View Full Code Here

  }

  @Override
  public UrlRewriteStepStatus process( UrlRewriteContext context ) throws Exception {
    if( param != null && !param.isEmpty() && template != null && !template.isEmpty() ) {
      Template uri = Parser.parse( template );
      String resolvedTemplate = Expander.expandToString( uri, context.getParameters(), context.getEvaluator() );
      if( resolvedTemplate != null && !resolvedTemplate.isEmpty() ) {
        String endcoedUrl = encode( resolvedTemplate );
        EncryptStepContextParams params = new EncryptStepContextParams();
        params.addParam( param, Arrays.asList( endcoedUrl ) );
View Full Code Here

    return IGNORE_HEADER_NAMES.contains( name );
  }

  private String rewriteValue( String value, String rule ) {
    try {
      Template input = Parser.parse( value );
      Template output = rewriter.rewrite( this, input, UrlRewriter.Direction.OUT, rule );
      if( output != null ) {
        value = output.getPattern();
      }
    } catch( URISyntaxException e ) {
      LOG.failedToParseValueForUrlRewrite( value );
    }
    return value;
View Full Code Here

    this.cookiesFilterName = config.getInitParameter( UrlRewriteServletFilter.REQUEST_COOKIES_FILTER_PARAM );
    this.cookiesFilterConfig = getRewriteFilterConfig( cookiesFilterName, UrlRewriteServletFilter.COOKIES_MIME_TYPE );
  }

  private Template getSourceUrl() {
    Template urlTemplate;
    //KNOX-439[
    //StringBuffer urlString = super.getRequestURL();
    StringBuffer urlString = new StringBuffer( 128 );
    urlString.append( getScheme() );
    urlString.append( "://" );
View Full Code Here

TOP

Related Classes of org.apache.hadoop.gateway.util.urltemplate.Template

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.