from enum import Enum from core_images.image_types import is_placeholder IMAGE_TYPE_HEADER = "X-Image-Type" CACHE_HEADER = "X-Images-Cache" CACHE_CONTROL_HEADER = "Cache-Control" class ImageTypeHeaderValues(Enum): ORIGINAL = "original" PLACEHOLDER = "placeholder" class CacheHeaderValues(Enum): HIT = "HIT" MISS = "MISS" def get_image_type_headers(url): if is_placeholder(url): headers = {IMAGE_TYPE_HEADER: ImageTypeHeaderValues.PLACEHOLDER.value} else: headers = {IMAGE_TYPE_HEADER: ImageTypeHeaderValues.ORIGINAL.value} return headers def get_cache_headers(is_cached, no_edge_cache=False): if is_cached: headers = {CACHE_HEADER: CacheHeaderValues.HIT.value} else: headers = {CACHE_HEADER: CacheHeaderValues.MISS.value} if no_edge_cache: headers[CACHE_CONTROL_HEADER] = "no-cache" return headers