Skip to content

Commit

Permalink
Refactored the Scheme column to enhance the protocol's visual represe…
Browse files Browse the repository at this point in the history
…ntation and eliminated the unnecessary parameters property in the MyHttpRequest class.
  • Loading branch information
aress31 committed Dec 22, 2023
1 parent 114387c commit 81f4fb4
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 13 deletions.
3 changes: 2 additions & 1 deletion src/main/java/burp/http/MyHttpRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
import lombok.AllArgsConstructor;
import lombok.Data;

// Refactor the code to use this class instead of RequestWithMetadata
@AllArgsConstructor
@Data
public class MyHttpRequest {
private HttpRequest httpRequest;
// TODO: Monitor the future integration of metadata or notes support to
// eliminate the necessity of this redundant helper class.
private String description;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import javax.swing.table.AbstractTableModel;

import burp.api.montoya.http.message.params.HttpParameterType;
import burp.api.montoya.http.message.params.ParsedHttpParameter;
import burp.api.montoya.http.message.requests.HttpRequest;
import lombok.Data;
import swurg.observers.ParserTableModelObserver;
Expand All @@ -15,7 +18,8 @@
public class ParserTableModel extends AbstractTableModel {

private List<RequestWithMetadata> requestWithMetadatas;
private String[] columnNames = { "#", "Method", "Server", "Path", "Parameters (COOKIE, URL)", "Description" };
private String[] columnNames = { "#", "Scheme", "Method", "Server", "Path", "Parameters (COOKIE, URL)",
"Description" };

// Add a list to hold the observers
private List<ParserTableModelObserver> observers = new ArrayList<>();
Expand Down Expand Up @@ -112,14 +116,21 @@ public Object getValueAt(int row, int column) {
case 0:
return row;
case 1:
return requestWithMetadata.getHttpRequest().method();
return requestWithMetadata.getHttpRequest().httpService().secure() ? "HTTPS" : "HTTP";
case 2:
return requestWithMetadata.getHttpRequest().httpService().host();
return requestWithMetadata.getHttpRequest().method();
case 3:
return requestWithMetadata.getHttpRequest().path();
return requestWithMetadata.getHttpRequest().httpService().host();
case 4:
return requestWithMetadata.getParameters();
return requestWithMetadata.getHttpRequest().path();
case 5:
return requestWithMetadata.getHttpRequest().parameters()
.stream()
.filter(parameter -> parameter.type() == HttpParameterType.COOKIE
|| parameter.type() == HttpParameterType.URL)
.map(ParsedHttpParameter::name)
.collect(Collectors.joining(", "));
case 6:
return requestWithMetadata.getDescription() != null ? requestWithMetadata.getDescription() : "N/A";
default:
throw new IllegalArgumentException("Invalid column index");
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/swurg/utilities/RequestWithMetadata.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,5 @@
@AllArgsConstructor
public class RequestWithMetadata {
private HttpRequest httpRequest;
// TODO: Remove this field as it is not needed
// parameters are already in the httpRequest
private String parameters;
private String description;
}
7 changes: 3 additions & 4 deletions src/main/java/swurg/workers/Worker.java
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,10 @@ private List<HttpParameter> constructHttpRequestParameters(List<Parameter> param
for (Parameter parameter : parameters) {
String in = parameter.getIn();

if ("header".equals(in)) {
if ("header".equals(in))
httpParameters.add(HttpParameter.cookieParameter(parameter.getName(), parameter.getSchema().getType()));
} else if ("query".equals(in)) {
else if ("query".equals(in))
httpParameters.add(HttpParameter.urlParameter(parameter.getName(), parameter.getSchema().getType()));
}
}
}

Expand Down Expand Up @@ -226,6 +225,6 @@ private URI constructFullRequestUri(URI baseUri, String path) throws URISyntaxEx
private RequestWithMetadata createLogEntry(HttpRequest httpRequest, String parameters,
String description) {

return new RequestWithMetadata(httpRequest, parameters, description);
return new RequestWithMetadata(httpRequest, description);
}
}

0 comments on commit 81f4fb4

Please sign in to comment.