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 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