Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ODATA-1561 #157

Merged
merged 1 commit into from Aug 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/odata-protocol/odata-protocol.html
Expand Up @@ -843,7 +843,7 @@ <h4 id="82810-preference-wait"><a name="Preferencewait" href="#Preferencewait">8
<h2 id="83-response-headers"><a name="ResponseHeaders" href="#ResponseHeaders">8.3 Response Headers</a></h2>
<p>In addition to the <a href="#CommonHeaders">Common Headers</a>, the following response headers have defined meaning in OData.</p>
<h3 id="831-header-asyncresult"><a name="HeaderAsyncResult" href="#HeaderAsyncResult">8.3.1 Header <code>AsyncResult</code></a></h3>
<p>A 4.01 service MUST include the <code>AsyncResult</code> header in <a href="#ResponseCode200OK"><code>200 OK</code></a>response from a status monitor resource in order to indicate the final <a href="#CommonResponseStatusCodes">HTTP Response Status Code</a> of an <a href="#AsynchronousRequests">asynchronously executed request</a>.</p>
<p>A 4.01 service MUST include the <code>AsyncResult</code> header in <a href="#ResponseCode200OK"><code>200 OK</code></a> responses from a status monitor resource in order to indicate the final <a href="#CommonResponseStatusCodes">HTTP Response Status Code</a> of an <a href="#AsynchronousRequests">asynchronously executed request</a>. The header value is the three-digit HTTP response code, see <a href="#ODataABNF">OData-ABNF</a>.</p>
<p>The <code>AsyncResult</code> header SHOULD NOT be applied to individual responses within a batch.</p>
<h3 id="832-header-etag"><a name="HeaderETag" href="#HeaderETag">8.3.2 Header <code>ETag</code></a></h3>
<p>A response MAY include an <code>ETag</code> header, see <a href="#rfc7232">RFC7232</a>. Services MUST include this header if they require an ETag to be specified when modifying the resource.</p>
Expand Down Expand Up @@ -2172,7 +2172,7 @@ <h2 id="116-asynchronous-requests"><a name="AsynchronousRequests" href="#Asynchr
<p>If the client has specified<code> respond-async</code> in the request, the service MAY process the request asynchronously and return a <a href="#ResponseCode202Accepted"><code>202 Accepted</code></a> response. A service MUST NOT reply to a <a href="#DataServiceRequests">Data Service Request</a> with <code>202 Accepted</code> if the request has not included the <code>respond-async</code> preference.</p>
<p>Responses that return <code>202 Accepted</code> MUST include a <a href="#HeaderLocation"><code>Location</code> header</a> pointing to a <em>status monitor resource</em> that represents the current state of the asynchronous processing in addition to an optional <a href="#HeaderRetryAfter"><code>Retry-After</code> header</a> indicating the time, in seconds, the client should wait before querying the service for status. Services MAY include a response body, for example, to provide additional status information.</p>
<p>A <code>GET</code> request to the status monitor resource again returns <code>202 Accepted</code> response if the asynchronous processing has not finished. This response MUST again include a <a href="#HeaderLocation"><code>Location</code> header</a> and MAY include a <a href="#HeaderRetryAfter"><code>Retry-After</code> header</a> to be used for a subsequent request. The <code>Location</code> header and optional <code>Retry-After</code> header may or may not contain the same values as returned by the previous request.</p>
<p>A <code>GET</code> request to the status monitor resource returns <a href="#ResponseCode200OK"><code>200 OK</code></a> once the asynchronous processing has completed. For OData 4.01 and greater responses, or OData 4.0 requests that include an <code>Accept </code>header that does not specify <code>application/http</code>, the response MUST include the <a href="#HeaderAsyncResult"><code>AsyncResult</code></a> response header. Any other headers, along with the response body, represent the result of the completed asynchronous operation. If the <code>GET</code> request to the status monitor includes an <code>OData-MaxVersion</code> header with a value of <code>4.0</code> and no <code>Accept</code> header, or an <code>Accept</code> header that includes <code>application/http</code>, then the body of the final <code>200 OK</code> response MUST be represented as an HTTP message, as described in <a href="#rfc7230">RFC7230</a>, which is the full HTTP response to the completed asynchronous operation.</p>
<p>A <code>GET</code> request to the status monitor resource returns <a href="#ResponseCode200OK"><code>200 OK</code></a> once the asynchronous processing has completed. For OData 4.01 and greater responses, or OData 4.0 requests that include an <code>Accept</code> header that does not specify <code>application/http</code>, the response MUST include the <a href="#HeaderAsyncResult"><code>AsyncResult</code></a> response header. Any other headers, along with the response body, represent the result of the completed asynchronous operation. If the <code>GET</code> request to the status monitor includes an <code>OData-MaxVersion</code> header with a value of <code>4.0</code> and no <code>Accept</code> header, or an <code>Accept</code> header that includes <code>application/http</code>, then the body of the final <code>200 OK</code> response MUST be represented as an HTTP message, as described in <a href="#rfc7230">RFC7230</a>, which is the full HTTP response to the completed asynchronous operation.</p>
<p>A <code>DELETE</code> request sent to the status monitor resource requests that the asynchronous processing be canceled. A <code>200 OK</code> or a <a href="#ResponseCode204NoContent"><code>204 No Content</code></a> response indicates that the asynchronous processing has been successfully canceled. A client can request that the <code>DELETE</code> should be executed asynchronously. A <code>202 Accepted</code> response indicates that the cancellation is being processed asynchronously; the client can use the returned <a href="#HeaderLocation"><code>Location</code> header</a> (which MUST be different from the status monitor resource of the initial request) to query for the status of the cancellation. If a delete request is not supported by the service, the service returns <a href="#ResponseCode405MethodNotAllowed"><code>405 Method Not Allowed</code></a>.</p>
<p>After a successful <code>DELETE</code> request against the status monitor resource, any subsequent <code>GET</code> requests for the same status monitor resource returns <a href="#ResponseCode404NotFound"><code>404 Not Found</code></a>.</p>
<p>If an asynchronous request is cancelled for reasons other than the consumers issuing a <code>DELETE</code> request against the status monitor resource, a <code>GET</code> request to the status monitor resource returns <code>200 OK</code> with a response body containing a single HTTP response with a status code in the <a href="#ServerErrorResponses"><code>5xx Server Error</code></a> range indicating that the operation was cancelled.</p>
Expand Down
5 changes: 3 additions & 2 deletions docs/odata-protocol/odata-protocol.md
Expand Up @@ -1629,10 +1629,11 @@ response headers have defined meaning in OData.
### <a name="HeaderAsyncResult" href="#HeaderAsyncResult">8.3.1 Header `AsyncResult`</a>

A 4.01 service MUST include the `AsyncResult` header in
[`200 OK`](#ResponseCode200OK)response from a status monitor resource in
[`200 OK`](#ResponseCode200OK) responses from a status monitor resource in
order to indicate the final [HTTP Response Status
Code](#CommonResponseStatusCodes) of an [asynchronously executed
request](#AsynchronousRequests).
The header value is the three-digit HTTP response code, see [OData-ABNF](#ODataABNF).

The `AsyncResult` header SHOULD NOT be applied to individual responses
within a batch.
Expand Down Expand Up @@ -5512,7 +5513,7 @@ contain the same values as returned by the previous request.

A `GET` request to the status monitor resource returns [`200 OK`](#ResponseCode200OK) once the
asynchronous processing has completed. For OData 4.01 and greater
responses, or OData 4.0 requests that include an `Accept `header that
responses, or OData 4.0 requests that include an `Accept` header that
does not specify `application/http`, the response MUST include the
[`AsyncResult`](#HeaderAsyncResult) response header. Any other headers,
along with the response body, represent the result of the completed
Expand Down
2 changes: 1 addition & 1 deletion odata-protocol/11.5 Operations.md
Expand Up @@ -479,7 +479,7 @@ contain the same values as returned by the previous request.

A `GET` request to the status monitor resource returns [`200 OK`](#ResponseCode200OK) once the
asynchronous processing has completed. For OData 4.01 and greater
responses, or OData 4.0 requests that include an `Accept `header that
responses, or OData 4.0 requests that include an `Accept` header that
does not specify `application/http`, the response MUST include the
[`AsyncResult`](#HeaderAsyncResult) response header. Any other headers,
along with the response body, represent the result of the completed
Expand Down
3 changes: 2 additions & 1 deletion odata-protocol/8 Header Fields.md
Expand Up @@ -756,10 +756,11 @@ response headers have defined meaning in OData.
### ##subsubsec Header `AsyncResult`

A 4.01 service MUST include the `AsyncResult` header in
[`200 OK`](#ResponseCode200OK)response from a status monitor resource in
[`200 OK`](#ResponseCode200OK) responses from a status monitor resource in
order to indicate the final [HTTP Response Status
Code](#CommonResponseStatusCodes) of an [asynchronously executed
request](#AsynchronousRequests).
The header value is the three-digit HTTP response code, see [OData-ABNF](#ODataABNF).

The `AsyncResult` header SHOULD NOT be applied to individual responses
within a batch.
Expand Down