Details
diff --git a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Main.java b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Main.java
index a7a6a49..cb7d9a6 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Main.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Main.java
@@ -21,7 +21,7 @@ public class Main {
System.setProperty("java.util.logging.SimpleFormatter.format", "[%1$tF %1$tT+%1$tL] [%4$-7s] [RequestsSimulator] %5$s %n");
if (args.length < 2) {
- System.err.println("--profile=<ProfilePath> --time=<time> [--users=<users>] [--log=<LogPath>] [--throughput=<ThroughputPath>] [--host=<host>]");
+ System.err.println("--profile=<ProfilePath> --time=<time> [--users=<users>] [--log=<LogPath>] [--throughput=<ThroughputPath>] [--host=<host>] [--home=<homePath>]");
System.err.println("--profile=<ProfilePath> --execute=<LogPath> [--throughput=<ThroughputPath>] [--host=<host>]");
System.err.println("--throughput=<ThroughputPath> --reduce=<ReducePath> --prefix=<prefix>");
System.exit(1);
@@ -68,6 +68,11 @@ public class Main {
}
Profile profile = ProfileReader.parseFile(profilePath, host);
+ String homePath = arguments.get("home");
+ if (homePath != null) {
+ Request.HOME_PATH = homePath;
+ }
+
Request.REQUESTS_LOG = throughputPath;
String logPath = arguments.get("execute");
if (logPath != null) {
diff --git a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/MultipartRequest.java b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/MultipartRequest.java
index 8500f2e..a5e8826 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/MultipartRequest.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/MultipartRequest.java
@@ -73,7 +73,7 @@ public class MultipartRequest extends Request {
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
forms().forEach(entry -> {
if (entry.getKey().equals("file")) {
- File file = new File(entry.getValue());
+ File file = new File(Request.HOME_PATH, entry.getValue());
multipartEntityBuilder.addBinaryBody(entry.getKey(), file);
} else {
multipartEntityBuilder.addTextBody(entry.getKey(), fillPropertyVariable(entry.getValue()));
diff --git a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/Request.java b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/Request.java
index f155759..eafb411 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/Request.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/Request.java
@@ -36,6 +36,7 @@ public abstract class Request {
private final Collection<String> storeFields;
private final Session session;
public static String REQUESTS_LOG = null;
+ public static String HOME_PATH = "";
protected Request(RequestPlan requestPlan, Session session, String URL) {
this.requestPlan = requestPlan;
diff --git a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/RequestPlan.java b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/RequestPlan.java
index 6aa7a0f..4fbdd8c 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/RequestPlan.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/requests/RequestPlan.java
@@ -223,7 +223,7 @@ public class RequestPlan {
headers = replaceOptionals(this.headers);
headers = replaceRandoms(headers, map);
if (this.headers.contains("multipart")) {
- String forms = this.forms;
+ String forms = replaceOptionals(this.forms);
return new MultipartRequest(this, session, URL, headers, forms, storeFields);
}
}