Add server-side Collection API service (ServerSideEventSender)

New autowired service that POSTs events to the PA Collection API using the site ID and collect domain from pianoanalytics.settings.

  • Content-Type: text/plain per PA Collection API spec
  • Auto-enriches properties with device_timestamp_utc and event_collection_platform
  • Forwards browser context headers (User-Agent, Referer, X-Forwarded-For) for device and geo analysis
  • resolveVisitorId() reads PA cookies (_pcid, pa_vid, atuserid) with sha256(IP) fallback
  • extractBrowserHeaders() extracts relevant headers from request
  • 2s timeout, catches all exceptions (never breaks callers)
  • 6 kernel tests

Closes #3579450

Merge request reports

Loading