Alexander Parr created OLINGO-1041:
--------------------------------------
Summary: Set Cache-Control Header for OData Response
Key: OLINGO-1041
URL: https://issues.apache.org/jira/browse/OLINGO-1041
Project: Olingo
Issue Type: Bug
Components: odata2-core
Affects Versions: V2 2.0.6
Environment: SAP HANA Cloud Platform
Reporter: Alexander Parr
Priority: Minor
Hi all,
I implemented method 'readEntityMedia' which is called via $value for an
entity. As I do return a PDF file I like to set the response header
'Cache-Control' to a defined value which is 'max-age = 86400, public' in my
case.
By default the 'Cache-Control' header is set to private. I tried to change the
header by using method 'header' of the ODataResponseBuilder:
public ODataResponse readEntityMedia(GetMediaResourceUriInfo uriInfo,
String contentType) throws ODataException {
...
ODataResponseBuilder responseBuilder =
ODataResponse.fromResponse(EntityProvider.writeBinary(mimeTypeRequested,
documentData));
responseBuilder
.header("Cache-Control", "max-age = 86400, public")
.header("Content-Disposition", "inline;filename=\"" + fileName + "\"");
return responseBuilder.build();
}
Unfortunately the response header now contains both:
Cache-Control:private
and
Cache-Control:max-age = 86400, public
which is not what I expected. By calling method 'header' of the ResponseBuilder
I expect that if a header already exists it gets overwritten.
Best regards,
Alex
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)