OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (ODATA-942) How should headers applied to a batch affect statements within a batch?


     [ https://issues.oasis-open.org/browse/ODATA-942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Biamonte updated ODATA-942:
--------------------------------

    Proposal: 
The following is a proposal for the use of headers in batch requests and responses.  

Common Headers
===============
Content-Type     - Each request in the batch must have a content type header as per section 11.7
Content-Encoding - Value on requests in batch overrides the batch value
Content-Language - Value on requests in batch overrides the batch value
Content-Length   - Value on requests in batch specify the length of that request
OData-Version    - Applies to the overall batch only.  Ignored on requests in batch

Request Headers
===============
Accept           - In theory we could have Accept headers on requests in the batch override the Accept header of the batch.  In practice, is that a reasonable use case?  It seems unusual that one request in the batch would request Atom format and another request in the batch would request JSON format.  

Accept-Charset   - Similar to Accept header is it a resonable use case for the charset and language to differ from request to request?  I could see that this might be more probable than wanting to mix Atom and JSON formats.

Accept-Language  - Same comment as Accept-Charset

If-Match		 - Value on requests in batch overrides apply to that request.  If-Match on the overall batch does not make sense.  If the If-Match header is specified on the overall batch is that an error or is it ignored?

If-None-Match    - Value on requests in batch overrides apply to that request.  If-None-Match on the overall batch does not make sense.  If the If-Match header is specified on the overall batch is that an error or is it ignored?

OData-Isolation  - Applies to the overal batch only.  Ignored on requests in the batch (per section 8.2.6)

OData-MaxVersion - Applies to the overal batch only.  Ignored on requests in the batch

Prefer:odata.allow-entityreferences  - Value on requests in batch overrides the batch value
Prefer:odata.callback                - In theory we could allow a callback per request in the batch, but I think it makes more sense if it applies to the batch as a whole.

Prefer:odata.continue-on-error       - Applies to the overall batch only.  Ignored on requests in the batch

Prefer:odata.include-annotations     - Value on requests in batch overrides the batch value

Prefer:odata.maxpagesize			 - Assuming responses in a batch can return Next Links, the value on requests in batch overrides the batch value

Prefer:odata.track-changes           - Assuming responses in a batch can return Delta Links, the value on requests in batch overrides the batch value

Prefer:return                        - Value on requests in batch overrides the batch value

Prefer:respond-async                 - Applies to the overall batch only.  Ignored on requests in the batch (per section 8.2.8.8)

Prefer:wait                          - In general I think this would apply to the overall batch.  However I could see where you might what to specify a timeout on an individual request in the batch.  If a request timed out the odata.continue-on-error preference would dictate whether the batch fails or processing continues.  The batch to either fail or return an async-repsonse depending on whether the responde-async preference is specified after the wait time specified for the overall batch as expired.

Schema-Version (OData 4.01)          - Applies to the overall batch only.  Ignored on requests in the batch.

Response Headers
=================
ETag                 - Can be applied to responses in a batch response.  I don't think it makes sense to apply this to the overall batch response.  

Location             - Can be applied to responses in a batch response.  I don't think it makes sense to apply this to the overall batch response

OData-EntityId       - Can be applied to responses in a batch response.  I don't think it makes sense to apply this to the overall batch response

Preference-Applied   - Can be applied to responses in a batch response and also the overal batch

Retry-After			 - Applies to the overal batch response only.

  was:We probably need to spell out semantics for each header when applied to a batch.


> How should headers applied to a batch affect statements within a batch?
> -----------------------------------------------------------------------
>
>                 Key: ODATA-942
>                 URL: https://issues.oasis-open.org/browse/ODATA-942
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData Protocol
>    Affects Versions: V4.0_ERRATA03
>            Reporter: Michael Pizzo
>            Assignee: Mark Biamonte
>             Fix For: V4.01_WD01
>
>
> Today we don't spell out how setting a header on a batch affects individual statements of the batch, nor do we specify what happens if the same header is specified on the batch and the individual statement with different values.
> Do we ignore headers on the batch? Do we define a precedence rule where headers on the batch define defaults, but headers on the individual statements take precedence.  For something like include-annotations, does a precedence rule imply that, if an annotation is included in the batch and not specified in the individual request, it is included, if an annotation is excluded in the batch and not specified in the individual request it is excluded, if an annotation is included in the batch and excluded in the individual request it is excluded, and if an annotation is excluded in the batch but included in the request it is included?



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]