While we're throwing new protocol things around, for testing's sake it would be great to have a hub mode that allowed for querying the status of a subscription. This is what I've implemented internally and in tests, but it's definitely open to modification if people think it should work differently.
====== Subscription status can be checked by the subscriber by making an HTTP GET request to the hub URL. This request has the following query string arguments appended: hub.mode REQUIRED. The literal string "query" hub.topic REQUIRED. The topic URL associated with the subscription. hub.callback REQUIRED. The subscriber's callback URL associated with the subscription. hub.secret OPTIONAL. The hub.secret value associated with the subscription, if any. If the request is successful, the hub MUST respond with HTTP 200 OK and a text/plain response body containing a string representing one of the following subscription states: none The hub has no record of a subscription to hub.topic for the subscriber at hub.callback pending The hub has confirmed the subscription request but is awaiting approval from the owner of hub.topic subscribed The hub is publishing changes of hub.topic to the subscriber at hub.callback Any other responses MUST be interpreted by subscribers as meaning that the hub does not support the query mode or is unwilling to provide information regarding the subscription in question. Hubs SHOULD NOT violate the privacy of subscribers; unless the subscriber specified a hub.secret or the hub is operating in diagnostic mode, the hub MUST respond with HTTP 403 Forbidden and an empty response body.
