@@ -3127,41 +3127,54 @@ <h5 id="name-reading-a-streams-status">
31273127</ li >
31283128 </ ul >
31293129< p id ="section-7.1.2.1-7 "> On receiving a valid request the Event Transmitter responds with a 200 OK
3130- response containing a < span > < a href ="#RFC7159 " class ="xref "> JSON</ a > [< a href ="#RFC7159 " class ="xref "> RFC7159</ a > ]</ span > object with an attribute "status",
3131- whose string value MUST have one of the following values:< a href ="#section-7.1.2.1-7 " class ="pilcrow "> ¶</ a > </ p >
3132- < p id ="section-7.1.2.1-8 "> enabled< a href ="#section-7.1.2.1-8 " class ="pilcrow "> ¶</ a > </ p >
3130+ response containing a < span > < a href ="#RFC7159 " class ="xref "> JSON</ a > [< a href ="#RFC7159 " class ="xref "> RFC7159</ a > ]</ span > object with the following attributes:< a href ="#section-7.1.2.1-7 " class ="pilcrow "> ¶</ a > </ p >
3131+ < p id ="section-7.1.2.1-8 "> status< a href ="#section-7.1.2.1-8 " class ="pilcrow "> ¶</ a > </ p >
31333132< ul class ="normal ulEmpty ">
31343133< li class ="normal ulEmpty " id ="section-7.1.2.1-9.1 ">
3135- < p id ="section-7.1.2.1-9.1.1 "> The Transmitter MUST transmit events over the stream, according to the
3136- stream's configured delivery method.< a href ="#section-7.1.2.1-9.1.1 " class ="pilcrow "> ¶</ a > </ p >
3134+ < p id ="section-7.1.2.1-9.1.1 "> A string whose value MUST be one of the values described below.< a href ="#section-7.1.2.1-9.1.1 " class ="pilcrow "> ¶</ a > </ p >
31373135</ li >
31383136 </ ul >
3139- < p id ="section-7.1.2.1-10 "> paused < a href ="#section-7.1.2.1-10 " class ="pilcrow "> ¶</ a > </ p >
3137+ < p id ="section-7.1.2.1-10 "> reason < a href ="#section-7.1.2.1-10 " class ="pilcrow "> ¶</ a > </ p >
31403138< ul class ="normal ulEmpty ">
31413139< li class ="normal ulEmpty " id ="section-7.1.2.1-11.1 ">
3142- < p id ="section-7.1.2.1-11.1.1 "> The Transmitter MUST NOT transmit events over the stream. The transmitter
3140+ < p id ="section-7.1.2.1-11.1.1 "> An OPTIONAL string whose value SHOULD express why the stream's status is set to
3141+ the current value.< a href ="#section-7.1.2.1-11.1.1 " class ="pilcrow "> ¶</ a > </ p >
3142+ </ li >
3143+ </ ul >
3144+ < p id ="section-7.1.2.1-12 "> The allowable "status" values are:< a href ="#section-7.1.2.1-12 " class ="pilcrow "> ¶</ a > </ p >
3145+ < p id ="section-7.1.2.1-13 "> enabled< a href ="#section-7.1.2.1-13 " class ="pilcrow "> ¶</ a > </ p >
3146+ < ul class ="normal ulEmpty ">
3147+ < li class ="normal ulEmpty " id ="section-7.1.2.1-14.1 ">
3148+ < p id ="section-7.1.2.1-14.1.1 "> The Transmitter MUST transmit events over the stream, according to the
3149+ stream's configured delivery method.< a href ="#section-7.1.2.1-14.1.1 " class ="pilcrow "> ¶</ a > </ p >
3150+ </ li >
3151+ </ ul >
3152+ < p id ="section-7.1.2.1-15 "> paused< a href ="#section-7.1.2.1-15 " class ="pilcrow "> ¶</ a > </ p >
3153+ < ul class ="normal ulEmpty ">
3154+ < li class ="normal ulEmpty " id ="section-7.1.2.1-16.1 ">
3155+ < p id ="section-7.1.2.1-16.1.1 "> The Transmitter MUST NOT transmit events over the stream. The transmitter
31433156 will hold any events it would have transmitted while paused, and SHOULD
31443157 transmit them when the stream's status becomes "enabled". If a Transmitter
31453158 holds successive events that affect the same Subject Principal, then the
31463159 Transmitter MUST make sure that those events are transmitted in the order of
31473160 time that they were generated OR the Transmitter MUST send only the last events
31483161 that do not require the previous events affecting the same Subject Principal to
31493162 be processed by the Receiver, because the previous events are either cancelled
3150- by the later events or the previous events are outdated.< a href ="#section-7.1.2.1-11 .1.1 " class ="pilcrow "> ¶</ a > </ p >
3163+ by the later events or the previous events are outdated.< a href ="#section-7.1.2.1-16 .1.1 " class ="pilcrow "> ¶</ a > </ p >
31513164</ li >
31523165 </ ul >
3153- < p id ="section-7.1.2.1-12 "> disabled< a href ="#section-7.1.2.1-12 " class ="pilcrow "> ¶</ a > </ p >
3166+ < p id ="section-7.1.2.1-17 "> disabled< a href ="#section-7.1.2.1-17 " class ="pilcrow "> ¶</ a > </ p >
31543167< ul class ="normal ulEmpty ">
3155- < li class ="normal ulEmpty " id ="section-7.1.2.1-13 .1 ">
3156- < p id ="section-7.1.2.1-13 .1.1 "> The Transmitter MUST NOT transmit events over the stream, and will not hold
3157- any events for later transmission.< a href ="#section-7.1.2.1-13 .1.1 " class ="pilcrow "> ¶</ a > </ p >
3168+ < li class ="normal ulEmpty " id ="section-7.1.2.1-18 .1 ">
3169+ < p id ="section-7.1.2.1-18 .1.1 "> The Transmitter MUST NOT transmit events over the stream, and will not hold
3170+ any events for later transmission.< a href ="#section-7.1.2.1-18 .1.1 " class ="pilcrow "> ¶</ a > </ p >
31583171</ li >
31593172 </ ul >
3160- < p id ="section-7.1.2.1-14 "> The following is a non-normative example request to check an event stream's
3161- status:< a href ="#section-7.1.2.1-14 " class ="pilcrow "> ¶</ a > </ p >
3173+ < p id ="section-7.1.2.1-19 "> The following is a non-normative example request to check an event stream's
3174+ status:< a href ="#section-7.1.2.1-19 " class ="pilcrow "> ¶</ a > </ p >
31623175< span id ="name-example-check-stream-status "> </ span > < div id ="figstatusreq ">
31633176< figure id ="figure-27 ">
3164- < div id ="section-7.1.2.1-15 .1 ">
3177+ < div id ="section-7.1.2.1-20 .1 ">
31653178< pre class ="lang-http sourcecode ">
31663179GET /ssf/status?stream_id=f67e39a0a4d34d56b3aa1bc4cff0069f HTTP/1.1
31673180Host: transmitter.example.com
@@ -3172,29 +3185,30 @@ <h5 id="name-reading-a-streams-status">
31723185< a href ="#name-example-check-stream-status " class ="selfRef "> Example: Check Stream Status Request</ a >
31733186 </ figcaption > </ figure >
31743187</ div >
3175- < p id ="section-7.1.2.1-16 "> The following is a non-normative example response:< a href ="#section-7.1.2.1-16 " class ="pilcrow "> ¶</ a > </ p >
3188+ < p id ="section-7.1.2.1-21 "> The following is a non-normative example response:< a href ="#section-7.1.2.1-21 " class ="pilcrow "> ¶</ a > </ p >
31763189< span id ="name-example-check-stream-status- "> </ span > < div id ="figstatusresp ">
31773190< figure id ="figure-28 ">
3178- < div id ="section-7.1.2.1-17 .1 ">
3191+ < div id ="section-7.1.2.1-22 .1 ">
31793192< pre class ="lang-http sourcecode ">
31803193HTTP/1.1 200 OK
31813194Content-Type: application/json
31823195Cache-Control: no-store
31833196
31843197{
3185- "status": "enabled"
3198+ "status": "paused",
3199+ "reason": "SYSTEM_DOWN_FOR_MAINTENANCE"
31863200}
31873201</ pre >
31883202</ div >
31893203< figcaption > < a href ="#figure-28 " class ="selfRef "> Figure 28</ a > :
31903204< a href ="#name-example-check-stream-status- " class ="selfRef "> Example: Check Stream Status Response</ a >
31913205 </ figcaption > </ figure >
31923206</ div >
3193- < p id ="section-7.1.2.1-18 "> The following is a non-normative example request to check an event stream's
3194- status for a specific subject:< a href ="#section-7.1.2.1-18 " class ="pilcrow "> ¶</ a > </ p >
3207+ < p id ="section-7.1.2.1-23 "> The following is a non-normative example request to check an event stream's
3208+ status for a specific subject:< a href ="#section-7.1.2.1-23 " class ="pilcrow "> ¶</ a > </ p >
31953209< span id ="name-example-check-stream-status-r "> </ span > < div id ="figstatuswithsubjectreq ">
31963210< figure id ="figure-29 ">
3197- < div id ="section-7.1.2.1-19 .1 ">
3211+ < div id ="section-7.1.2.1-24 .1 ">
31983212< pre class ="lang-http sourcecode ">
31993213GET /ssf/status?stream_id=f67e39a0a4d34d56b3aa1bc4cff0069f&subject=<url-encoded-subject> HTTP/1.1
32003214Host: transmitter.example.com
@@ -3205,10 +3219,10 @@ <h5 id="name-reading-a-streams-status">
32053219< a href ="#name-example-check-stream-status-r " class ="selfRef "> Example: Check Stream Status Request with Subject</ a >
32063220 </ figcaption > </ figure >
32073221</ div >
3208- < p id ="section-7.1.2.1-20 "> The following is a non-normative example response with a Subject claim:< a href ="#section-7.1.2.1-20 " class ="pilcrow "> ¶</ a > </ p >
3222+ < p id ="section-7.1.2.1-25 "> The following is a non-normative example response with a Subject claim:< a href ="#section-7.1.2.1-25 " class ="pilcrow "> ¶</ a > </ p >
32093223< span id ="name-example-check-stream-status-re "> </ span > < div id ="figstatuswithsubjectresp ">
32103224< figure id ="figure-30 ">
3211- < div class ="alignLeft art-text artwork " id ="section-7.1.2.1-21 .1 ">
3225+ < div class ="alignLeft art-text artwork " id ="section-7.1.2.1-26 .1 ">
32123226< pre >
32133227HTTP/1.1 200 OK
32143228Content-Type: application/json
@@ -3231,7 +3245,7 @@ <h5 id="name-reading-a-streams-status">
32313245< a href ="#name-example-check-stream-status-re " class ="selfRef "> Example: Check Stream Status Response</ a >
32323246 </ figcaption > </ figure >
32333247</ div >
3234- < p id ="section-7.1.2.1-22 "> Errors are signaled with HTTP status codes as follows:< a href ="#section-7.1.2.1-22 " class ="pilcrow "> ¶</ a > </ p >
3248+ < p id ="section-7.1.2.1-27 "> Errors are signaled with HTTP status codes as follows:< a href ="#section-7.1.2.1-27 " class ="pilcrow "> ¶</ a > </ p >
32353249< span id ="name-read-stream-status-errors "> </ span > < div id ="tabreadstatus ">
32363250< table class ="center " id ="table-6 ">
32373251 < caption >
@@ -3260,25 +3274,25 @@ <h5 id="name-reading-a-streams-status">
32603274 </ tbody >
32613275 </ table >
32623276</ div >
3263- < p id ="section-7.1.2.1-24 "> Examples:< a href ="#section-7.1.2.1-24 " class ="pilcrow "> ¶</ a > </ p >
3264- < ol start ="1 " type ="1 " class ="normal type-1 " id ="section-7.1.2.1-25 ">
3265- < li id ="section-7.1.2.1-25 .1 "> If a Receiver makes a request with an invalid OAuth token, then the
3266- Transmitter MUST respond with a 401 error status.< a href ="#section-7.1.2.1-25 .1 " class ="pilcrow "> ¶</ a >
3277+ < p id ="section-7.1.2.1-29 "> Examples:< a href ="#section-7.1.2.1-29 " class ="pilcrow "> ¶</ a > </ p >
3278+ < ol start ="1 " type ="1 " class ="normal type-1 " id ="section-7.1.2.1-30 ">
3279+ < li id ="section-7.1.2.1-30 .1 "> If a Receiver makes a request with an invalid OAuth token, then the
3280+ Transmitter MUST respond with a 401 error status.< a href ="#section-7.1.2.1-30 .1 " class ="pilcrow "> ¶</ a >
32673281</ li >
3268- < li id ="section-7.1.2.1-25 .2 "> If the Receiver presents a valid OAuth token, but the Transmitter policy
3282+ < li id ="section-7.1.2.1-30 .2 "> If the Receiver presents a valid OAuth token, but the Transmitter policy
32693283does not permit the Receiver from obtaining the status, then the Transmitter
3270- MAY respond with a 403 error status.< a href ="#section-7.1.2.1-25 .2 " class ="pilcrow "> ¶</ a >
3284+ MAY respond with a 403 error status.< a href ="#section-7.1.2.1-30 .2 " class ="pilcrow "> ¶</ a >
32713285</ li >
3272- < li id ="section-7.1.2.1-25 .3 "> If the Receiver requests the status for a stream that does not exist then the
3273- Transmitter MUST respond with a 404 error status.< a href ="#section-7.1.2.1-25 .3 " class ="pilcrow "> ¶</ a >
3286+ < li id ="section-7.1.2.1-30 .3 "> If the Receiver requests the status for a stream that does not exist then the
3287+ Transmitter MUST respond with a 404 error status.< a href ="#section-7.1.2.1-30 .3 " class ="pilcrow "> ¶</ a >
32743288</ li >
3275- < li id ="section-7.1.2.1-25 .4 "> If the Receiver requests the status for a specific Subject, but the
3289+ < li id ="section-7.1.2.1-30 .4 "> If the Receiver requests the status for a specific Subject, but the
32763290Transmitter policy does not permit the Receiver to read the status of that
32773291Subject, then the Transmitter MAY respond with a 404 error status in order
3278- to not reveal the policy decision.< a href ="#section-7.1.2.1-25 .4 " class ="pilcrow "> ¶</ a >
3292+ to not reveal the policy decision.< a href ="#section-7.1.2.1-30 .4 " class ="pilcrow "> ¶</ a >
32793293</ li >
3280- < li id ="section-7.1.2.1-25 .5 "> If the specified Subject is invalid then the Transmitter MUST respond with a
3281- 404 error status.< a href ="#section-7.1.2.1-25 .5 " class ="pilcrow "> ¶</ a >
3294+ < li id ="section-7.1.2.1-30 .5 "> If the specified Subject is invalid then the Transmitter MUST respond with a
3295+ 404 error status.< a href ="#section-7.1.2.1-30 .5 " class ="pilcrow "> ¶</ a >
32823296</ li >
32833297 </ ol >
32843298</ section >
0 commit comments