func (e *Extractor) Process(job J.Job) { job.Progress("Extracting...") defer e.wg.Done() resp, err := e.extractRetry(job.Url, job.Content) if err != nil { e.error(job, "%s", err) return } doc, err := rewriteAndDownloadImages(job.Root(), resp.Content) if err != nil { e.error(job, "HTML parsing failed: %s", err) return } job.Doc = doc if resp.Title != "" { job.Title = resp.Title } job.Domain = resp.Domain if resp.Author != nil { job.Author = *resp.Author } job.Progress("Extraction complete...") e.Output <- job }