Examples of UriComponentsBuilder


Examples of org.springframework.web.util.UriComponentsBuilder

  public void i_execute_with_parameters( String httpMethodString,
                                         String path,
                                         DataTable dataTable ) throws Throwable {
    HttpMethod httpMethod = HttpMethod.valueOf( StringUtils.upperCase( httpMethodString ) );

    UriComponentsBuilder uri = UriComponentsBuilder.fromUriString( restUrlBuilder.build( path ) );

    HttpHeaders headers = new HttpHeaders();
    if ( Arrays.asList( HttpMethod.POST, HttpMethod.PUT ).contains( httpMethod ) ) {
      headers.setContentType( MediaType.APPLICATION_FORM_URLENCODED );
    }
    headers.setAccept( Arrays.asList( MediaType.APPLICATION_JSON ) );

    Authentication defaultAuthentication = context.lookup( "rest.base.auth" );

    if ( defaultAuthentication != null ) {
      LOG.debug( "applying default request authentication {}", defaultAuthentication );
      defaultAuthentication.apply( uri, headers );
    }

    MultiValueMap<String, Object> values = new LinkedMultiValueMap<String, Object>();

    if ( dataTable != null ) {
      DataTable cleanedTable = fixTableHeader( dataTable );
      boolean hasTypeSpec = cleanedTable.topCells().size() > 2;

      for ( Map<String, String> row : cleanedTable.asMaps( String.class, String.class ) ) {
        String name = spel.getValueAsString( row.get( "name" ) );
        String value = spel.getValueAsString( row.get( "value" ) );
        String type = row.get( "type" );

        if ( type != null ) {
          type = spel.getValueAsString( type );
        }
        else {
          type = "data";
        }

        // Content-type is a special case
        if ( StringUtils.startsWithIgnoreCase( type, "query" ) ) {
          uri.queryParam( name, value );
        }
        else if ( StringUtils.equalsIgnoreCase( type, "header" ) ) {
          if ( StringUtils.equalsIgnoreCase( "content-type", name ) ) {
            headers.setContentType( MediaType.valueOf( value ) );
          }
          else {
            headers.add( name, value );
          }
        }
        else if ( StringUtils.startsWithIgnoreCase( type, "auth" )
            || ( !hasTypeSpec
            && ( StringUtils.equals( name, "auth" ) || StringUtils.equals( name, "authentication" ) ) )
            ) {
          Authentication authentication = context.lookup( value );

          if ( authentication == null ) {
            fail( "No authentication configured under variable " + value );
          }

          LOG.debug( "applying request authentication {}", authentication );
          authentication.apply( uri, headers );
        }
        else if ( StringUtils.equalsIgnoreCase( "content-type", name ) ) {
          headers.setContentType( MediaType.valueOf( value ) );
        }
        else if ( StringUtils.equalsIgnoreCase( type, "data" ) ) {
          switch ( httpMethod ) {
            case POST:
            case PUT:
              values.add( name, value );
              break;
            default:
              uri.queryParam( name, value );
              break;
          }
        }
        else if ( StringUtils.equalsIgnoreCase( type, "resource" ) ) {
          final FileResource fileResource = fileResourceResolver.resolve( value );
          switch ( httpMethod ) {
            case POST:
            case PUT:
              values.add( name, new ByteArrayResource( fileResource.getContent() )
              {
                @Override
                public String getFilename() {
                  return fileResource.getFileName();
                }
              } );
              break;
            default:
              fail( "Parameter type resource is only usable with POST and PUT" );
          }
        }
        else {
          fail( "Unknown parameter type: " + type );
        }
      }
    }

    HttpEntity<?> request;

    switch ( httpMethod ) {
      case POST:
      case PUT:
        request = new HttpEntity<MultiValueMap<?, ?>>( values, headers );
        break;
      default:
        request = new HttpEntity<String>( headers );

    }

    restRequest.execute(
        uri.build().toUriString(),
        httpMethod,
        request
    );
  }
View Full Code Here

Examples of org.springframework.web.util.UriComponentsBuilder

    String spelData = spel.replaceExpressions( data );
    Object instance = yaml.load( spelData );

    HttpMethod httpMethod = HttpMethod.valueOf( StringUtils.upperCase( httpMethodString ) );

    UriComponentsBuilder uri = UriComponentsBuilder.fromUriString( restUrlBuilder.build( path ) );

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType( MediaType.APPLICATION_JSON );
    headers.setAccept( Arrays.asList( MediaType.APPLICATION_JSON ) );

    Authentication defaultAuthentication = context.lookup( "rest.base.auth" );

    if ( defaultAuthentication != null ) {
      LOG.debug( "applying default request authentication {}", defaultAuthentication );
      defaultAuthentication.apply( uri, headers );
    }

    HttpEntity<?> request = new HttpEntity<Object>( instance, headers );

    restRequest.execute(
        uri.build().toUriString(),
        httpMethod,
        request
    );
  }
View Full Code Here

Examples of org.springframework.web.util.UriComponentsBuilder

      LOG.info( "manually creating an OAuth2 authentication token" );
      body = parameters;
    }
    else {

      UriComponentsBuilder uri = UriComponentsBuilder.fromUriString( restUrlBuilder.build( urlPath ) );

      HttpHeaders headers = new HttpHeaders();
      headers.setContentType( MediaType.APPLICATION_JSON );
      headers.setAccept( Arrays.asList( MediaType.APPLICATION_JSON ) );

      if ( parameters.containsKey( "client_id" ) ) {
        LOG.info( "using client_id and client_secret from parameters" );
        String plainCreds = parameters.get( "client_id" )
            + ":"
            + parameters.get( "client_secret" );
        byte[] plainCredsBytes = plainCreds.getBytes();
        String base64Creds = Base64.encodeBytes( plainCredsBytes );

        headers.add( "Authorization", "Basic " + base64Creds );
      }
      else {
        Authentication defaultAuthentication = context.lookup( "rest.base.auth" );

        if ( defaultAuthentication != null ) {
          LOG.debug( "applying default request authentication {}", defaultAuthentication );
          defaultAuthentication.apply( uri, headers );
        }
      }

      // Build request
      for ( Map.Entry<String, String> parameter : parameters.entrySet() ) {
        if ( !IGNORED_PARAMETERS.contains( parameter.getKey() ) ) {
          uri.queryParam( parameter.getKey(), parameter.getValue() );
        }
      }

      RestTemplate template = new RestTemplate();
      template.setErrorHandler( new LoggingResponseErrorHandler() );
      HttpEntity<String> request = new HttpEntity<String>( headers );

      String url = uri.build().toUriString();
      LOG.debug( "calling oauth2 token endpoint {}", url );

      ResponseEntity<Map> response = template.exchange( url, HttpMethod.GET, request, Map.class );
      body = response.getBody();
View Full Code Here

Examples of org.springframework.web.util.UriComponentsBuilder

  }

  @Override
  public IResponse geocode(IGeocodeRequest request) {

    UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(ADDRESS_URL);

    for (Map.Entry<String, String> entry : request.getParameters().entrySet())
      builder.queryParam(entry.getKey(), entry.getValue());

    URI uri = builder.build().toUri();

    return restTemplate.getForObject(uri, Response.class);
  }
View Full Code Here

Examples of org.springframework.web.util.UriComponentsBuilder

  }

  @Override
  public IResponse reverseGeocode(IReverseGeocodeRequest request) {

    UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(REVERSE_URL);

    for (Map.Entry<String, String> entry : request.getParameters().entrySet())
      builder.queryParam(entry.getKey(), entry.getValue());

    URI uri = builder.build().toUri();

    return restTemplate.getForObject(uri, Response.class);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.