private String resolveContentType(String... paths) { String extension = null; boolean sameExtensionForAllResources = true; for (String path: paths) { String actualExtension = resolveExtension(path); if (extension == null) { extension = actualExtension; } else if (!StringUtils.equalsIgnoreCase(extension, actualExtension)) { sameExtensionForAllResources = false; break; } } if (sameExtensionForAllResources) { return MIMEMapping.getMIMETypeOrDefault(extension); } return MIMEMapping.getMIMETypeOrDefault(StringUtils.EMPTY); // use default content type }
protected String getMimeType(String extension, HttpServletResponse response) { final String mimeType; if (isRegisteredExtensionsOnly()) { if (StringUtils.isBlank(extension)) { extension = serverConfiguration.getDefaultExtension(); if (StringUtils.isBlank(extension)) { extension = MIMEMapping.DEFAULT_EXTENSION; } } mimeType = MIMEMapping.getMIMEType(extension); if (mimeType == null) { return null; } } else { mimeType = MIMEMapping.getMIMETypeOrDefault(extension); } return mimeType; }
@Override protected boolean boolVote(Object value) { if (!MgnlContext.isWebContext()) { return false; } final String extension = getAggregationStateProvider().get().getExtension(); final String contentType = MIMEMapping.getMIMETypeOrDefault(extension); if (getAllowed().size() > 0 && !getAllowed().contains(contentType)) { return false; } if (getRejected().size() > 0 && getRejected().contains(contentType)) { return false; } return true; } }
final HttpServletResponse response = MgnlContext.getWebContext().getResponse(); if (!response.containsHeader("Content-Type")) { response.setContentType(StringUtils.defaultIfBlank(getContentType(definition), MIMEMapping.getMIMETypeOrDefault(MIMEMapping.DEFAULT_EXTENSION)));