25 lines
1.0 KiB
Go
25 lines
1.0 KiB
Go
// Package sources defines feedkit's input-source abstraction.
|
|
//
|
|
// A source ingests upstream input and emits one or more event.Event values.
|
|
//
|
|
// feedkit supports two source modes:
|
|
// - PollSource: scheduler invokes Poll on a cadence.
|
|
// - StreamSource: source runs continuously and pushes events as input arrives.
|
|
//
|
|
// Source drivers are domain-specific and registered into Registry by driver name.
|
|
// Registry can then build configured sources from config.SourceConfig.
|
|
//
|
|
// A single source may emit 0..N events per poll or stream iteration, and those
|
|
// events may span multiple event kinds.
|
|
//
|
|
// HTTP-backed polling sources can share NewHTTPSource for generic HTTP config
|
|
// parsing and conditional GET behavior. The helper understands:
|
|
// - params.url
|
|
// - params.user_agent
|
|
// - params.conditional (optional, default true)
|
|
//
|
|
// When validators are available, NewHTTPSource prefers ETag/If-None-Match and
|
|
// falls back to Last-Modified/If-Modified-Since. A 304 Not Modified response is
|
|
// treated as a successful unchanged poll.
|
|
package sources
|