docs: function verify(expected, actual, matchingRules, comment){
  
      var errors = [];
  
      errors.push(checkMethod(expected.method, actual.method));
      errors.push(checkPath(expected.path, actual.path));
      errors.push(checkQuery(expected.query, actual.query));
      errors.push(checkBody(expected.body, actual.body, matchingRules));
      errors.push(checkHeaders(expected.headers, actual.headers, matchingRules));
  
      //Clean out the 'undefined' from the array leaving only valid errors
      errors = errors.filter(function(e){
          return !!e;
      });
  
      errors.forEach(function(e){
          var message = comment ? comment + " - " + e.error : e.error;
          throw new AssertionError(message, {
              expected: e.expected,
              actual: e.actual,
              showDiff: true
          });
      });
  
      //All good, pass on the expectations so they may be published
      return expected;
  }