class Goliath::Rack::Favicon
def call(env)
def call(env) if env['REQUEST_PATH'] == '/favicon.ico' env.logger.info('Serving favicon.ico') [200, {'Last-Modified' => @last_modified, 'Expires' => @expires, 'Content-Type' => "image/vnd.microsoft.icon"}, @favicon] else @app.call(env) end end
def initialize(app, filename)
def initialize(app, filename) @app = app @favicon = File.read(File.join(filename)) @expires = Time.at(Time.now + (60 * 60 * 24 * 7)).utc.rfc822.to_s @last_modified = File.mtime(filename).utc.rfc822.to_s end