Beispiel #1
0
def ImageScale_index_html(self, REQUEST=None, RESPONSE=None):
    """ Inject X-Sendfile and X-Accel-Redirect headers into response. """

    if REQUEST is None:
        REQUEST = self.REQUEST
    if RESPONSE is None:
        RESPONSE = REQUEST.RESPONSE

    blob = getattr(self, "blob", None)
    if not blob:
        return super(ImageScale, self).index_html(REQUEST, RESPONSE)

    if set_xsendfile_header(REQUEST, RESPONSE, blob):
        filename = self.filename
        if self.filename is not None:
            normalizer = IUserPreferredFileNameNormalizer(REQUEST)
            filename = normalizer.normalize(unicode(self.filename, self.getCharset()))
            header_value = contentDispositionHeader(disposition="inline", filename=filename)
            RESPONSE.setHeader("Content-disposition", header_value)
        RESPONSE.setHeader("Content-Type", self.content_type)
        return "collective.xsendfile - proxy missing?"
    else:
        return super(ImageScale, self).index_html(REQUEST, RESPONSE)