Package org.apache.jmeter.protocol.http.config

Examples of org.apache.jmeter.protocol.http.config.MultipartUrlConfig


        // has been handled by the sampler.setPath above, so we just need
        // to do parse the rest of the request if it is not a GET request
        if(!HTTPConstants.GET.equals(method)) {
            // Check if it was a multipart http post request
            final String contentType = getContentType();
            MultipartUrlConfig urlConfig = getMultipartConfig(contentType);
            if (urlConfig != null) {
                urlConfig.parseArguments(postData);
                // Tell the sampler to do a multipart post
                sampler.setDoMultipartPost(true);
                // Remove the header for content-type and content-length, since
                // those values will most likely be incorrect when the sampler
                // performs the multipart request, because the boundary string
                // will change
                getHeaderManager().removeHeaderNamed(CONTENT_TYPE);
                getHeaderManager().removeHeaderNamed(CONTENT_LENGTH);
           
                // Set the form data
                sampler.setArguments(urlConfig.getArguments());
                // Set the file uploads
                sampler.setFileField(urlConfig.getFileFieldName());
                sampler.setFilename(urlConfig.getFilename());
                sampler.setMimetype(urlConfig.getMimeType());
            } else if (postData != null && postData.trim().startsWith("<?")) {
                // Not sure if this is needed anymore. I assume these requests
                // do not have HTTPConstants.APPLICATION_X_WWW_FORM_URLENCODED as content type,
                // and they would therefore be catched by the last else if of these if else if tests
                sampler.addNonEncodedArgument("", postData, ""); //used when postData is pure xml (ex. an xml-rpc call)
View Full Code Here


        // has been handled by the sampler.setPath above, so we just need
        // to do parse the rest of the request if it is not a GET request
        if((!HTTPConstants.CONNECT.equals(request.getMethod())) && (!HTTPConstants.GET.equals(request.getMethod()))) {
            // Check if it was a multipart http post request
            final String contentType = request.getContentType();
            MultipartUrlConfig urlConfig = request.getMultipartConfig(contentType);
            String contentEncoding = sampler.getContentEncoding();
            // Get the post data using the content encoding of the request
            String postData = null;
            if (log.isDebugEnabled()) {
                if(!StringUtils.isEmpty(contentEncoding)) {
                    log.debug("Using encoding " + contentEncoding + " for request body");
                }
                else {
                    log.debug("No encoding found, using JRE default encoding for request body");
                }
            }
           
           
            if (!StringUtils.isEmpty(contentEncoding)) {
                postData = new String(request.getRawPostData(), contentEncoding);
            } else {
                // Use default encoding
                postData = new String(request.getRawPostData(), PostWriter.ENCODING);
            }
           
            if (urlConfig != null) {
                urlConfig.parseArguments(postData);
                // Tell the sampler to do a multipart post
                sampler.setDoMultipartPost(true);
                // Remove the header for content-type and content-length, since
                // those values will most likely be incorrect when the sampler
                // performs the multipart request, because the boundary string
                // will change
                request.getHeaderManager().removeHeaderNamed(HttpRequestHdr.CONTENT_TYPE);
                request.getHeaderManager().removeHeaderNamed(HttpRequestHdr.CONTENT_LENGTH);

                // Set the form data
                sampler.setArguments(urlConfig.getArguments());
                // Set the file uploads
                sampler.setHTTPFiles(urlConfig.getHTTPFileArgs().asArray());
                sampler.setDoBrowserCompatibleMultipart(true); // we are parsing browser input here
            // used when postData is pure xml (eg. an xml-rpc call) or for PUT
            } else if (postData.trim().startsWith("<?")
                    || HTTPConstants.PUT.equals(sampler.getMethod())
                    || isPotentialXml(postData)) {
View Full Code Here

    return "";
  }

  public static MultipartUrlConfig isMultipart(String contentType) {
    if (contentType != null && contentType.startsWith(MultipartUrlConfig.MULTIPART_FORM)) {
      return new MultipartUrlConfig(contentType.substring(contentType.indexOf("oundary=") + 8));
    } else {
      return null;
    }
  }
View Full Code Here

      return null;
    }
  }

  private HTTPSamplerBase createSampler() {
    MultipartUrlConfig urlConfig = null;
    HTTPSamplerBase sampler = new HTTPSampler();
    sampler.setDomain(serverName());
    log.debug("Proxy: setting server: " + sampler.getDomain());
    sampler.setMethod(method);
    log.debug("Proxy: method server: " + sampler.getMethod());
    sampler.setPath(serverUrl());
    log.debug("Proxy: setting path: " + sampler.getPath());
    if (numberRequests) {
      requestNumber++;
      sampler.setName(requestNumber + " " + sampler.getPath());
    } else {
      sampler.setName(sampler.getPath());
    }
    sampler.setPort(serverPort());
    log.debug("Proxy: setting port: " + sampler.getPort());
    if (url.indexOf("//") > -1) {
      String protocol = url.substring(0, url.indexOf(":"));
      log.debug("Proxy: setting protocol to : " + protocol);
      sampler.setProtocol(protocol);
    } else if (sampler.getPort() == 443) {
      sampler.setProtocol("https");
      log.debug("Proxy: setting protocol to https");
    } else {
      log.debug("Proxy setting default protocol to: http");
      sampler.setProtocol("http");
    }
    if ((urlConfig = isMultipart(getContentType())) != null) {
      urlConfig.parseArguments(postData);
      sampler.setArguments(urlConfig.getArguments());
      sampler.setFileField(urlConfig.getFileFieldName());
      sampler.setFilename(urlConfig.getFilename());
      sampler.setMimetype(urlConfig.getMimeType());
    } else {
      sampler.parseArguments(postData);
    }
    log.debug("sampler path = " + sampler.getPath());
    return sampler;
View Full Code Here

    public static MultipartUrlConfig isMultipart(String contentType)
    {
        if (contentType != null
            && contentType.startsWith(MultipartUrlConfig.MULTIPART_FORM))
        {
            return new MultipartUrlConfig(
                contentType.substring(contentType.indexOf("oundary=") + 8));
        }
        else
        {
            return null;
View Full Code Here

        }
    }
   
    private HTTPSampler createSampler()
    {
        MultipartUrlConfig urlConfig = null;
        HTTPSampler sampler = new HTTPSampler();
        sampler.setDomain(serverName());
        log.debug("Proxy: setting server: " + sampler.getDomain());
        sampler.setMethod(method);
        log.debug("Proxy: method server: " + sampler.getMethod());
        sampler.setPath(serverUrl());
        log.debug("Proxy: setting path: " + sampler.getEncodedPath());
        if (numberRequests){
          requestNumber++;
      sampler.setName(requestNumber + " " + sampler.getPath());
        } else {
      sampler.setName(sampler.getPath());
        }
        sampler.setPort(serverPort());
        log.debug("Proxy: setting port: " + sampler.getPort());
        if (url.indexOf("//") > -1)
        {
            String protocol = url.substring(0, url.indexOf(":"));
            log.debug("Proxy: setting protocol to : " + protocol);
            sampler.setProtocol(protocol);
        }
        else if (sampler.getPort() == 443)
        {
            sampler.setProtocol("https");
            log.debug("Proxy: setting protocol to https");
        }
        else
        {
            log.debug("Proxy setting default protocol to: http");
            sampler.setProtocol("http");
        }
        if ((urlConfig = isMultipart(getContentType())) != null)
        {
            urlConfig.parseArguments(postData);
            sampler.setArguments(urlConfig.getArguments());
            sampler.setFileField(urlConfig.getFileFieldName());
            sampler.setFilename(urlConfig.getFilename());
            sampler.setMimetype(urlConfig.getMimeType());
        }
        else
        {
            sampler.parseArguments(postData);
        }
View Full Code Here

  public static MultipartUrlConfig isMultipart(String contentType)
  {
    if (contentType != null
      && contentType.startsWith(MultipartUrlConfig.MULTIPART_FORM))
    {
      return new MultipartUrlConfig(
        contentType.substring(contentType.indexOf("oundary=") + 8));
    }
    else
    {
      return null;
View Full Code Here

      return null;
    }
  }
  private HTTPSampler createSampler()
  {
    MultipartUrlConfig urlConfig = null;
    HTTPSampler sampler = new HTTPSampler();
    sampler.setDomain(serverName());
    log.debug("Proxy: setting server: "+sampler.getDomain());
    sampler.setMethod(method);
    log.debug("Proxy: method server: "+sampler.getMethod());
    sampler.setPath(serverUrl());
    log.debug("Proxy: setting path: "+sampler.getPath());
    sampler.setName(sampler.getPath());
    sampler.setPort(serverPort());
    log.debug("Proxy: setting port: "+sampler.getPort());
    if (url.indexOf("//") > -1)
    {
      String protocol = url.substring(0, url.indexOf(":"));
      log.debug("Proxy: setting protocol to : "+protocol);
      sampler.setProtocol(protocol);
    }
    else if(sampler.getPort() == 443)
    {
      sampler.setProtocol("https");
      log.debug("Proxy: setting protocol to https");
    }
    else
    {
      log.debug("Proxy setting default protocol to: http");
      sampler.setProtocol("http");
    }
    if ((urlConfig = isMultipart(getContentType())) != null)
    {
      urlConfig.parseArguments(postData);
      sampler.setArguments(urlConfig.getArguments());
      sampler.setFileField(urlConfig.getFileFieldName());
      sampler.setFilename(urlConfig.getFilename());
      sampler.setMimetype(urlConfig.getMimeType());
    }
    else
    {
      sampler.parseArguments(postData);
    }
View Full Code Here

TOP

Related Classes of org.apache.jmeter.protocol.http.config.MultipartUrlConfig

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.