You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Manuel Blechschmidt (Jira)" <ji...@apache.org> on 2019/08/30 13:09:00 UTC

[jira] [Updated] (OLINGO-1382) Add ETag Headers based on content in batch requests

     [ https://issues.apache.org/jira/browse/OLINGO-1382?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manuel Blechschmidt updated OLINGO-1382:
----------------------------------------
    Description: 
Onlingo should add ETag headers to batch responses.

Load something in a batch where the server adds ETag Headers and the client adds If-None-Match headers
{code:java}
--batch_d34e-a126-e108
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Todos/$count?sap-context-token=1 HTTP/1.1
sap-cancel-on-close: true
sap-contextid-accept: header
Accept: text/plain, */*;q=0.5
Accept-Language: en
DataServiceVersion: 2.0
MaxDataServiceVersion: 2.0
If-None-Match: a9b7ba70783b617e9998dc4dd82eb3c5


--batch_d34e-a126-e108
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Todos?sap-context-token=1&$skip=0&$top=20 HTTP/1.1
sap-cancel-on-close: true
sap-contextid-accept: header
Accept: application/json
Accept-Language: en
DataServiceVersion: 2.0
MaxDataServiceVersion: 2.0
If-None-Match: ae7753e6e1221dc638923e62a9396ce4


--batch_d34e-a126-e108--
{code}
Expected response:
{code:java}
--batch_a120f6c4-7062-4c4e-a560-cc1c980099cb
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 304 Not Modified
Content-Length: 0


--batch_a120f6c4-7062-4c4e-a560-cc1c980099cb
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 304 Not Modified
Content-Length: 0


--batch_a120f6c4-7062-4c4e-a560-cc1c980099cb--
{code}
This is implemented here:
[https://github.com/ManuelB/blueprint/blob/master/src/main/java/de/incentergy/architecture/odata/ETagCacheControlODataJPAProcessor.java]

On the client side a request to add this is here:
 [https://github.com/SAP/openui5/issues/2624]

  was:
Onlingo should add ETag headers to batch responses.

Load something in a batch where the server adds ETag Headers and the client adds If-None-Match headers
{code}
--batch_d34e-a126-e108
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Todos/$count?sap-context-token=1 HTTP/1.1
sap-cancel-on-close: true
sap-contextid-accept: header
Accept: text/plain, */*;q=0.5
Accept-Language: en
DataServiceVersion: 2.0
MaxDataServiceVersion: 2.0
If-None-Match: a9b7ba70783b617e9998dc4dd82eb3c5


--batch_d34e-a126-e108
Content-Type: application/http
Content-Transfer-Encoding: binary

GET Todos?sap-context-token=1&$skip=0&$top=20 HTTP/1.1
sap-cancel-on-close: true
sap-contextid-accept: header
Accept: application/json
Accept-Language: en
DataServiceVersion: 2.0
MaxDataServiceVersion: 2.0
If-None-Match: ae7753e6e1221dc638923e62a9396ce4


--batch_d34e-a126-e108--
{code}

Expected response:
{code}
--batch_a120f6c4-7062-4c4e-a560-cc1c980099cb
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 304 Not Modified
Content-Length: 0


--batch_a120f6c4-7062-4c4e-a560-cc1c980099cb
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 304 Not Modified
Content-Length: 0


--batch_a120f6c4-7062-4c4e-a560-cc1c980099cb--
{code}

This is implemented here:
https://github.com/ManuelB/blueprint/blob/master/src/main/java/de/incentergy/architecture/odata/ETagODataJPAProcessor.java

On the client side a request to add this is here:
https://github.com/SAP/openui5/issues/2624


> Add ETag Headers based on content in batch requests
> ---------------------------------------------------
>
>                 Key: OLINGO-1382
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1382
>             Project: Olingo
>          Issue Type: New Feature
>          Components: odata2-core
>    Affects Versions: V2 2.0.11
>            Reporter: Manuel Blechschmidt
>            Priority: Major
>
> Onlingo should add ETag headers to batch responses.
> Load something in a batch where the server adds ETag Headers and the client adds If-None-Match headers
> {code:java}
> --batch_d34e-a126-e108
> Content-Type: application/http
> Content-Transfer-Encoding: binary
> GET Todos/$count?sap-context-token=1 HTTP/1.1
> sap-cancel-on-close: true
> sap-contextid-accept: header
> Accept: text/plain, */*;q=0.5
> Accept-Language: en
> DataServiceVersion: 2.0
> MaxDataServiceVersion: 2.0
> If-None-Match: a9b7ba70783b617e9998dc4dd82eb3c5
> --batch_d34e-a126-e108
> Content-Type: application/http
> Content-Transfer-Encoding: binary
> GET Todos?sap-context-token=1&$skip=0&$top=20 HTTP/1.1
> sap-cancel-on-close: true
> sap-contextid-accept: header
> Accept: application/json
> Accept-Language: en
> DataServiceVersion: 2.0
> MaxDataServiceVersion: 2.0
> If-None-Match: ae7753e6e1221dc638923e62a9396ce4
> --batch_d34e-a126-e108--
> {code}
> Expected response:
> {code:java}
> --batch_a120f6c4-7062-4c4e-a560-cc1c980099cb
> Content-Type: application/http
> Content-Transfer-Encoding: binary
> HTTP/1.1 304 Not Modified
> Content-Length: 0
> --batch_a120f6c4-7062-4c4e-a560-cc1c980099cb
> Content-Type: application/http
> Content-Transfer-Encoding: binary
> HTTP/1.1 304 Not Modified
> Content-Length: 0
> --batch_a120f6c4-7062-4c4e-a560-cc1c980099cb--
> {code}
> This is implemented here:
> [https://github.com/ManuelB/blueprint/blob/master/src/main/java/de/incentergy/architecture/odata/ETagCacheControlODataJPAProcessor.java]
> On the client side a request to add this is here:
>  [https://github.com/SAP/openui5/issues/2624]



--
This message was sent by Atlassian Jira
(v8.3.2#803003)