|
What this is
Other links
The source code// $Header: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java,v 1.11 2004/02/12 00:07:12 sebb Exp $ /* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.apache.jmeter.protocol.http.config; import java.io.Serializable; import org.apache.jmeter.config.Arguments; import org.apache.jmeter.protocol.http.util.HTTPArgument; import org.apache.jorphan.util.JOrphanUtils; /** * @author Michael Stover * @version $Revision: 1.11 $ */ public class MultipartUrlConfig implements Serializable { public static final String MULTIPART_FORM = "multipart/form-data"; private String boundary, filename, fileField, mimetype; private Arguments args; public MultipartUrlConfig() { args = new Arguments(); } public MultipartUrlConfig(String boundary) { this(); this.boundary = boundary; } public void setBoundary(String boundary) { this.boundary = boundary; } public String getBoundary() { return boundary; } public void setFilename(String filename) { this.filename = filename; } public String getFilename() { return filename; } public Arguments getArguments() { return args; } public void setFileFieldName(String name) { this.fileField = name; } public String getFileFieldName() { return fileField; } public void setMimeType(String type) { mimetype = type; } public String getMimeType() { return mimetype; } public void addArgument(String name, String value) { Arguments args = this.getArguments(); args.addArgument(new HTTPArgument(name, value)); } public void addArgument(String name, String value, String metadata) { Arguments args = this.getArguments(); args.addArgument(new HTTPArgument(name, value, metadata)); } public void addEncodedArgument(String name, String value) { Arguments args = getArguments(); HTTPArgument arg = new HTTPArgument(name, value, true); if (arg.getName().equals(arg.getEncodedName()) && arg.getValue().equals(arg.getEncodedValue())) { arg.setAlwaysEncoded(false); } args.addArgument(arg); } /** * This method allows a proxy server to send over the raw text from a * browser's output stream to be parsed and stored correctly into the * UrlConfig object. */ public void parseArguments(String queryString) { String[] parts = JOrphanUtils.split(queryString, "--" + getBoundary()); for (int i = 0; i < parts.length; i++) { if (parts[i].indexOf("filename=") > -1) { int index = parts[i].indexOf("name=\"") + 6; String name = parts[i].substring(index, parts[i].indexOf("\"", index)); index = parts[i].indexOf("filename=\"") + 10; String filename = parts[i].substring(index, parts[i].indexOf("\"", index)); index = parts[i].indexOf("\n", index); index = parts[i].indexOf(":", index) + 1; String mimetype = parts[i] .substring(index, parts[i].indexOf("\n", index)) .trim(); this.setFileFieldName(name); this.setFilename(filename); this.setMimeType(mimetype); } else if (parts[i].indexOf("name=") > -1) { int index = parts[i].indexOf("name=\"") + 6; String name = parts[i].substring(index, parts[i].indexOf("\"", index)); index = parts[i].indexOf("\n", index) + 2; String value = parts[i].substring(index).trim(); this.addEncodedArgument(name, value); } } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.