package engine import ( "context" "log" "git.jadud.com/jadudm/grosbeak/internal/domain64" "git.jadud.com/jadudm/grosbeak/internal/liteq" "git.jadud.com/jadudm/grosbeak/internal/types" "github.com/jpillora/go-tld" "github.com/tidwall/gjson" ) func Fetch(d64m *domain64.Domain64Map) types.QueueWorker { _f := func(ctx context.Context, job *liteq.Job) error { url := gjson.Get(job.Job, "url").String() turl, err := tld.Parse(url) if err != nil { // If we can't parse it, shut the job down as completed. return nil } d64, err := d64m.URLToDomain64(turl) if err != nil { log.Printf("urltodomain64 err %s: %s\n", url, err.Error()) } log.Printf("fetching %s 0x%016x\n", url, d64.ToInt64()) return nil } return _f }