in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/AbstractAccessPostServlet.java [205:234]
PostResponse createPostResponse(final SlingHttpServletRequest req) {
for (final PostResponseCreator creator : cachedPostResponseCreators) {
final PostResponse response = creator.createPostResponse(req);
if (response != null) {
return response;
}
}
//for backward compatibility, if no "accept" request param or header is supplied
// then prefer the SlingHttpServletRequest#getResponseContentType value
MediaRangeList mediaRangeList = null;
String queryParam = req.getParameter(MediaRangeList.PARAM_ACCEPT);
if (queryParam == null || queryParam.trim().length() == 0) {
String headerValue = req.getHeader(MediaRangeList.HEADER_ACCEPT);
if (headerValue == null || headerValue.trim().length() == 0) {
//no param or header supplied, so try the response content type
mediaRangeList = new MediaRangeList(req.getResponseContentType());
}
}
// Fall through to default behavior
if (mediaRangeList == null) {
mediaRangeList = new MediaRangeList(req);
}
if (JSONResponse.RESPONSE_CONTENT_TYPE.equals(mediaRangeList.prefer("text/html", JSONResponse.RESPONSE_CONTENT_TYPE))) {
return new JSONResponse();
} else {
return new HtmlResponse();
}
}