d9474b5a5b
v0.x: add reusable HTTP source spine; fix routing; upstream HTTP transport helper
...
- fix dispatch route compilation so empty Kinds matches all (nil), not none
- introduce internal/sources/common/HTTPSource to centralize HTTP polling boilerplate:
- standard cfg parsing (url + user_agent)
- default HTTP client + Accept/User-Agent headers
- consistent error wrapping
- refactor observation sources (nws/openmeteo/openweather) to use HTTPSource
- upstream generic HTTP fetch/limits/timeout helper from weatherfeeder to feedkit:
- move internal/sources/common/http.go -> feedkit/transport/http.go
- keep behavior: status checks, max-body limit, default timeout
2026-01-15 19:11:58 -06:00
e92577c30e
Moved shared OpenMeteo time parsing code into a shared internal/providers/openmeteo library.
2026-01-15 10:17:56 -06:00
59111a1c82
sources: standardize HTTP source config + factor raw-event boilerplate
...
- Require params.user_agent for all HTTP sources (uniform config across providers)
- Add common.RequireHTTPSourceConfig() to validate name/url/user_agent in one call
- Add common.NewHTTPClient() with DefaultHTTPTimeout for consistent client setup
- Add common.SingleRawEvent() to centralize event envelope construction + validation
- Refactor NWS/Open-Meteo/OpenWeather observation sources to use new helpers
2026-01-15 09:43:22 -06:00
e28ff49201
Moved common HTTP body fetch code into a shared helper function.
2026-01-15 08:58:56 -06:00
f43babdfd2
openmeteo: refactored the OpenMeteo source files to relocate normalization logic to internal/normalizers.
2026-01-14 12:10:32 -06:00
aa4774e0dd
weatherfeeder: split the former maximumdirect.net/weatherd project in two.
...
feedkit now contains a reusable core, while weatherfeeder is a concrete implementation that includes weather-specific functions.
2026-01-13 18:14:21 -06:00