def _generateHeaders(self, keyName, expires =None, eTag =None, maxAge =-1): """Doc...""" headers = dict() if expires: if isinstance(expires, unicode): headers['Expires'] = expires.encode('utf-8', 'ignore') elif isinstance(expires, str): headers['Expires'] = expires else: headers['Expires'] = TimeUtils.dateTimeToWebTimestamp(expires) elif eTag: headers['ETag'] = unicode(eTag) if maxAge > -1: headers['Cache-Control'] = 'public, max-age=' + unicode(maxAge) if keyName.endswith('.jpg'): contentType = MIME_TYPES.JPEG_IMAGE elif keyName.endswith('.png'): contentType = MIME_TYPES.PNG_IMAGE elif keyName.endswith('.gif'): contentType = MIME_TYPES.GIF_IMAGE else: contentType = FileUtils.getMimeType(keyName) if StringUtils.begins(contentType, ('text/', 'application/')): headers['Content-Type'] = contentType + '; charset=UTF-8' else: headers['Content-Type'] = contentType return headers
def _generateHeaders(cls, keyName, expires=None, eTag=None, maxAge=-1, gzipped=False): """Doc...""" headers = dict() if expires: if StringUtils.isStringType(expires): headers['Expires'] = StringUtils.toBytes(expires) elif StringUtils.isBinaryType(expires): headers['Expires'] = expires else: headers['Expires'] = StringUtils.toBytes( TimeUtils.dateTimeToWebTimestamp(expires)) elif eTag: headers['ETag'] = StringUtils.toBytes(eTag) if maxAge > -1: headers['Cache-Control'] = StringUtils.toBytes( 'max-age=%s; public' % maxAge) if keyName.endswith('.jpg'): contentType = MIME_TYPES.JPEG_IMAGE elif keyName.endswith('.png'): contentType = MIME_TYPES.PNG_IMAGE elif keyName.endswith('.gif'): contentType = MIME_TYPES.GIF_IMAGE else: contentType = FileUtils.getMimeType(keyName) if StringUtils.begins(contentType, ('text/', 'application/')): contentType = '%s; charset=UTF-8' % contentType headers['Content-Type'] = contentType if gzipped: headers['Content-Encoding'] = 'gzip' return headers
def _generateHeaders( cls, keyName, expires =None, eTag =None, maxAge =-1, gzipped =False ): """Doc...""" headers = dict() if expires: if StringUtils.isStringType(expires): headers['Expires'] = StringUtils.toBytes(expires) elif StringUtils.isBinaryType(expires): headers['Expires'] = expires else: headers['Expires'] = StringUtils.toBytes( TimeUtils.dateTimeToWebTimestamp(expires)) elif eTag: headers['ETag'] = StringUtils.toBytes(eTag) if maxAge > -1: headers['Cache-Control'] = StringUtils.toBytes( 'max-age=%s; public' % maxAge) if keyName.endswith('.jpg'): contentType = MIME_TYPES.JPEG_IMAGE elif keyName.endswith('.png'): contentType = MIME_TYPES.PNG_IMAGE elif keyName.endswith('.gif'): contentType = MIME_TYPES.GIF_IMAGE else: contentType = FileUtils.getMimeType(keyName) if StringUtils.begins(contentType, ('text/', 'application/')): contentType = '%s; charset=UTF-8' % contentType headers['Content-Type'] = contentType if gzipped: headers['Content-Encoding'] = 'gzip' return headers