Skip to content

Commit 45fc1df

Browse files
author
Chris Wiechmann
committed
Refactored to make it easier getting the ValidationReport
1 parent dfdba32 commit 45fc1df

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/main/java/com/axway/apim/openapi/validator/OpenAPIValidator.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,15 @@ private OpenAPIValidator(String apiId, String username, String password, String
107107
}
108108

109109
public boolean isValidRequest(String payload, String verb, String path, QueryStringHeaderSet queryParams, HeaderSet headers) {
110+
ValidationReport validationReport = validateRequest(payload, verb, path, queryParams, headers);
111+
if (validationReport.hasErrors()) {
112+
return false;
113+
} else {
114+
return true;
115+
}
116+
}
117+
118+
public ValidationReport validateRequest(String payload, String verb, String path, QueryStringHeaderSet queryParams, HeaderSet headers) {
110119
Utils.traceMessage("Validate request: [verb: "+verb+", path: '"+path+"', payload: '"+Utils.getContentStart(payload, payloadLogMaxLength, true)+"']", TraceLevel.INFO);
111120
ValidationReport validationReport = null;
112121
String originalPath = path;
@@ -124,15 +133,15 @@ public boolean isValidRequest(String payload, String verb, String path, QueryStr
124133
validationReport = (ValidationReport)exposurePath2SpecifiedPathMap.get(path);
125134
} else {
126135
// In that case perform the validation based on the cached path
127-
validationReport = validateRequest(payload, verb, (String)exposurePath2SpecifiedPathMap.get(path), queryParams, headers);
136+
validationReport = _validateRequest(payload, verb, (String)exposurePath2SpecifiedPathMap.get(path), queryParams, headers);
128137
}
129138
} else {
130139
// Otherwise try to find the belonging specified path
131140
for(int i=0; i<5;i++) {
132141
if(cachePath) {
133142
Utils.traceMessage("Retrying validation with reduced path: '"+path+"']' ("+i+"/5)", TraceLevel.INFO);
134143
}
135-
validationReport = validateRequest(payload, verb, path, queryParams, headers);
144+
validationReport = _validateRequest(payload, verb, path, queryParams, headers);
136145
if(validationReport.hasErrors()) {
137146
if(validationReport.getMessages().toString().contains("No API path found that matches request")) {
138147
// Only cache the path, if a direct hit fails
@@ -164,12 +173,7 @@ public boolean isValidRequest(String payload, String verb, String path, QueryStr
164173
}
165174
}
166175
}
167-
168-
if (validationReport.hasErrors()) {
169-
return false;
170-
} else {
171-
return true;
172-
}
176+
return validationReport;
173177
}
174178

175179
public boolean isValidResponse(String payload, String verb, String path, int status, HeaderSet headers) {
@@ -181,8 +185,12 @@ public boolean isValidResponse(String payload, String verb, String path, int sta
181185
return true;
182186
}
183187
}
188+
189+
public ValidationReport validateResponse(final String payload, String verb, String path, final int status, final HeaderSet headers) {
190+
return _validateResponse(payload, verb, path, status, headers);
191+
}
184192

185-
public ValidationReport validateRequest(final String payload, final String verb, final String path, final QueryStringHeaderSet queryParams, final HeaderSet headers) {
193+
private ValidationReport _validateRequest(final String payload, final String verb, final String path, final QueryStringHeaderSet queryParams, final HeaderSet headers) {
186194
Request request = new Request() {
187195
@Override
188196
public String getPath() {
@@ -235,7 +243,7 @@ public Collection<String> getHeaderValues(String name) {
235243
return validationReport;
236244
}
237245

238-
public ValidationReport validateResponse(final String payload, String verb, String path, final int status, final HeaderSet headers) {
246+
private ValidationReport _validateResponse(final String payload, String verb, String path, final int status, final HeaderSet headers) {
239247
Response response = new Response() {
240248
@Override
241249
public int getStatus() {

0 commit comments

Comments
 (0)