2.2.2.10 Stop (Request and Response)
The purpose of the Stop request is to request that the server stop streaming content.
The Stop request is only supported when the non-pipelined mode of the protocol is used.<54>
The Stop request is defined as an HTTP POST request that satisfies the ABNF syntax for WMS-Stop-Request and satisfies all the following conditions:
The POST request includes a Pragma header with an xStopStrm (section 2.2.1.4.38) token.
The message body of the POST request MUST be zero length.
The POST request does not include the Content-Type header.
The POST request does not include the log-line (section 2.2.1.4.10) token on a Pragma header.
The POST request does not include the pipeline-request (section 2.2.1.4.16) token on a Pragma header.
The POST request does not include the stream-switch-entry (section 2.2.1.4.27) token on a Pragma header.
The POST request does not include the xKeepAliveInPause (section 2.2.1.4.34) token on a Pragma header.
The POST request uses the HTTP 1.1 protocol, as specified in [RFC2616].
The syntax of the Stop response is defined as WMS-Stop-Response with the additional constraint that the response contains a zero-length message body.
WMS-Stop-Request:
-
WMS-Stop-Request = WMS-Stop-Req-Line WMS-StopReq-Headers CRLF WMS-Stop-Req-Line = "POST" SP Request-URI SP "HTTP/1.1" CRLF WMS-StopReq-Headers = *( StopReq-Header-REQ / StopReq-Header-OPT / StopReq-Pragma / HTTP-Header-Types ) StopReq-Header-REQ = "Content-Length: 0" / User-Agent ; section 2.2.1.8 StopReq-Header-OPT = Cookie ; section 2.2.1.3 / Supported ; section 2.2.1.7 / X-Accept-Authentication; section 2.2.1.9 / X-Proxy-Client-Verb ; section 2.2.1.11 StopReq-Pragma = "Pragma: " #StopReq-Pragma-Types CRLF StopReq-Pragma-Types = StopReq-Token-REQ / StopReq-Token-OPT StopReq-Token-REQ = client-id ; section 2.2.1.4.5 / xStopStrm ; section 2.2.1.4.38 StopReq-Token-OPT = no-cache ; section 2.2.1.4.12 / proxy-client-agent ; section 2.2.1.4.21 / request-context ; section 2.2.1.4.23 / xClientGuid ; section 2.2.1.4.33
WMS-Stop-Response:
-
WMS-Stop-Response = Status-Line WMS-StopResp-Headers CRLF WMS-StopResp-Headers = *( StopResp-Header-REQ / StopResp-Header-OPT / StopResp-Pragma / HTTP-Header-Types ) StopResp-Header-REQ = Cache-Control ; section 2.2.1.1 / Server ; section 2.2.1.5 StopResp-Header-OPT = Set-Cookie ; section 2.2.1.6 / Supported ; section 2.2.1.7 StopResp-Pragma = "Pragma: " #StopResp-Pragma-Types CRLF StopResp-Pragma-Types = StopResp-Token-REQ / StopResp-Token-OPT StopResp-Token-REQ = no-cache ; section 2.2.1.4.12 StopResp-Token-OPT = client-id ; section 2.2.1.4.5 / timeout ; section 2.2.1.4.29
The following example shows a Stop request.
-
POST /large HTTP/1.1 Accept: */* User-Agent: NSPlayer/12.0.7724.0 Host: SampleServer Pragma: xClientGUID={BFE16E37-55EC-4AE4-A5A9-0B0D307F4B72} X-Accept-Authentication: Negotiate, NTLM, Digest, Basic Pragma: client-id=2685500263 Pragma: xStopStrm=1 Content-Length: 0
The following example shows a Stop response.
-
HTTP/1.1 200 OK Server: Cougar/9.5.6001.18281 Date: Mon, 08 Mar 2010 20:27:35 GMT Pragma: no-cache, client-id=2685500263, features="seekable,stridable", timeout=60000 Cache-Control: no-cache Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache, com.microsoft.wm.startupprofile Content-Length: 0