/** * Parses the response body and extracts a specific value from it (identified by the provided * path) */ public Object evaluate(String path, Stash stash) throws IOException { if (response == null) { return null; } if (parsedResponse == null) { // special case: api that don't support body (e.g. exists) return true if 200, false if 404, // even if no body // is_true: '' means the response had no body but the client returned true (caused by 200) // is_false: '' means the response had no body but the client returned false (caused by 404) if ("".equals(path) && HttpHead.METHOD_NAME.equals(response.getRequestLine().getMethod())) { return isError() == false; } return null; } return parsedResponse.evaluate(path, stash); }
/** * Returns the body properly parsed depending on the content type. Might be a string or a json * object parsed as a map. */ public Object getBody() throws IOException { if (parsedResponse != null) { return parsedResponse.evaluate(""); } return body; }