LightningImage
Constants
ALLOW_LIST_FILE_PATH = ENV.fetch("ALLOW_LIST_FILE_PATH", "")
ALLOW_UPSIZE_IMAGE = (ENV.fetch("ALLOW_UPSIZE_IMAGE", "false")).to_s.downcase == "true"
CACHE_CONTROL_HEADER = ENV.fetch("CACHE_CONTROL_HEADER", "public, max-age=86400")
CACHE_DIR = ENV.fetch("CACHE_DIR", "./cache")
CHECK_CONTENT_TYPE = (ENV.fetch("CHECK_CONTENT_TYPE", "true")).to_s.downcase == "true"
ETAG = (ENV.fetch("ETAG", "true")).to_s.downcase == "true"
FIT_SUFFIX = "_fit"
HEALTH_CHECK_PATH = "/ping"
HOST = ENV.fetch("HOST", "0.0.0.0")
LAST_MODIFIED = (ENV.fetch("LAST_MODIFIED", "true")).to_s.downcase == "true"
LOG_LEVEL = ENV.fetch("LOG_LEVEL", "info")
PORT = (ENV.fetch("PORT", "8080")).to_i
SERVE_CACHE = (ENV.fetch("SERVE_CACHE", "true")).to_s.downcase == "true"
SOURCE_DIR = "source"
SOURCE_FETCH_TIMEOUT_SECONDS = (ENV.fetch("SOURCE_FETCH_TIMEOUT_SECONDS", "10")).to_i
SUPPORTED_FORMATS = ["webp"]
SUPPORTED_SOURCE_CONTENT_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"]
SUPPORTED_SOURCE_FORMAT = # TODO: define it with investigating vip option refs: https://www.iana.org/assignments/media-types/media-types.xhtml#image
UNIX_SOCKET = ENV.fetch("UNIX_SOCKET", "")
VERSION = "0.1.0"
WIDTH_HEIGHT_SEPARATOR = "x"
X_SEND_FILE_HEADER = ENV.fetch("X_SEND_FILE_HEADER", "")
X_SEND_FILE_LOCATION = ENV.fetch("X_SEND_FILE_LOCATION", "")
Class methods
start
SourceNested types
- LightningImage::AllowEverything
- LightningImage::AllowList
- LightningImage::ConvertHandler
- LightningImage::FetchHandler
- LightningImage::ImageCache
- LightningImage::Log
- LightningImage::ParsePathParametersHandler
- LightningImage::PingHandler
- LightningImage::SendFileHandler
- LightningImage::ServeCacheFileHandler
- LightningImage::ValidateURLHandler