@@ -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