Class CyclicSubscriptionHandlers
Defined in File cyclic_subscription_handlers.hpp
Class Documentation
-
class CyclicSubscriptionHandlers
HTTP handlers for cyclic subscription CRUD and SSE streaming.
Implements SOVD cyclic subscription endpoints:
POST /{entity}/cyclic-subscriptions — create subscription
GET /{entity}/cyclic-subscriptions — list subscriptions
GET /{entity}/cyclic-subscriptions/{id} — get subscription
PUT /{entity}/cyclic-subscriptions/{id} — update subscription
DELETE /{entity}/cyclic-subscriptions/{id} — delete subscription
GET /{entity}/cyclic-subscriptions/{id}/events — SSE stream
Public Functions
-
CyclicSubscriptionHandlers(HandlerContext &ctx, SubscriptionManager &sub_mgr, ResourceSamplerRegistry &sampler_registry, TransportRegistry &transport_registry, int max_duration_sec)
-
void handle_create(const httplib::Request &req, httplib::Response &res)
POST /{entity}/cyclic-subscriptions — create subscription.
-
void handle_list(const httplib::Request &req, httplib::Response &res)
GET /{entity}/cyclic-subscriptions — list all subscriptions for entity.
-
void handle_get(const httplib::Request &req, httplib::Response &res)
GET /{entity}/cyclic-subscriptions/{id} — get single subscription.
-
void handle_update(const httplib::Request &req, httplib::Response &res)
PUT /{entity}/cyclic-subscriptions/{id} — update subscription.
-
void handle_delete(const httplib::Request &req, httplib::Response &res)
DELETE /{entity}/cyclic-subscriptions/{id} — delete subscription.
-
void handle_events(const httplib::Request &req, httplib::Response &res)
GET /{entity}/cyclic-subscriptions/{id}/events — SSE event stream.
Public Static Functions
-
static nlohmann::json subscription_to_json(const CyclicSubscriptionInfo &info, const std::string &event_source)
Convert subscription info to JSON response.
-
static tl::expected<ParsedResourceUri, std::string> parse_resource_uri(const std::string &resource)
Parse resource URI to extract entity type, entity id, collection, and resource path.