Class DefaultAttachmentSafeContentHeaderGuesser
- java.lang.Object
-
- com.atlassian.confluence.servlet.download.DefaultAttachmentSafeContentHeaderGuesser
-
- All Implemented Interfaces:
SafeContentHeaderGuesser
public class DefaultAttachmentSafeContentHeaderGuesser extends Object implements SafeContentHeaderGuesser
-
-
Constructor Summary
Constructors Constructor Description DefaultAttachmentSafeContentHeaderGuesser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,String>computeAttachmentHeaders(String contentType, InputStream contents, String name, String userAgent, long contentLength, boolean hasXsrfToken, Map<String,String[]> httpQueryParams)Returns a map of headers with their values.voidsetContentTypeAndDispositionHeaderBlacklist(com.atlassian.http.mime.ContentDispositionHeaderGuesser contentTypeAndDispositionHeaderBlacklist)voidsetMimeTypeTranslator(AttachmentMimeTypeTranslator mimeTypeTranslator)
-
-
-
Method Detail
-
computeAttachmentHeaders
public Map<String,String> computeAttachmentHeaders(String contentType, InputStream contents, String name, String userAgent, long contentLength, boolean hasXsrfToken, Map<String,String[]> httpQueryParams) throws IOException
Description copied from interface:SafeContentHeaderGuesserReturns a map of headers with their values. One of these headers _must_ be 'Content-Type'.The purpose of this method is to guess a safe content type header (and associated content-disposition headers), so that it is difficult to perform xss using attachments.
- Specified by:
computeAttachmentHeadersin interfaceSafeContentHeaderGuesser- Parameters:
contentType- the existing content-type that the attachment has.contents- attachment contentsname- the filename of the attachmentuserAgent- the user agent of the client requesting the attachmentcontentLength- the length of the attachmenthttpQueryParams- a map of the http query parameters- Returns:
- a map of http headers to their values. It will contain at least one entry with key 'Content-Type'.
- Throws:
IOException- if the attachments contents could not be read
-
setMimeTypeTranslator
public void setMimeTypeTranslator(AttachmentMimeTypeTranslator mimeTypeTranslator)
-
setContentTypeAndDispositionHeaderBlacklist
public void setContentTypeAndDispositionHeaderBlacklist(com.atlassian.http.mime.ContentDispositionHeaderGuesser contentTypeAndDispositionHeaderBlacklist)
-
-