public void respond(IRequestCycle requestCycle)
{
Attributes attributes = new Attributes(requestCycle.getRequest(),
requestCycle.getResponse());
ResourceStreamResource resource = new ResourceStreamResource(resourceStream);
resource.setFileName(fileName);
if (contentDisposition != null)
{
resource.setContentDisposition(contentDisposition);
}
else
{
resource.setContentDisposition(Strings.isEmpty(fileName) ? ContentDisposition.INLINE
: ContentDisposition.ATTACHMENT);
}
final Duration cacheDuration = getCacheDuration();
if (cacheDuration != null)
{
resource.setCacheDuration(cacheDuration);
}
resource.respond(attributes);
}