code: function crawl(error, result, callback) {
  
      // if HTTP error, delegate to the plugins
      if (error) {
          pm.error(error,result, callback);
          return;
      }
  
      var $ =  html.$(result);
  
      // Analyse the HTTP response in order to check the content (links, images, ...)
      // or apply a redirect
      async.parallel([
        // Call crawl function of the different plugins
        async.apply(pm.crawl.bind(pm), result, $),
  
        // Check if redirect
        async.apply(applyRedirect, result),
  
        // Check if HTML
        async.apply(analyzeHTML, result, $),
      ], function(error) {
          result = null;
          callback(error);
      });
  
  }
docs: Default callback used when the http request queue gets a resource (html, pdf, css, ...) or an error
  
  @param the HTTP error (if exist)
  @param The HTTP result with the crawl options
  @param callback(error)