lib/shutterbug/rackapp.rb in shutterbug-0.2.5 vs lib/shutterbug/rackapp.rb in shutterbug-0.4.3
- old
+ new
@@ -1,21 +1,20 @@
# encoding: utf-8
module Shutterbug
class Rackapp
DefaultHandlers = [
- Shutterbug::Handlers::ConvertHandler ,
+ Shutterbug::Handlers::ConvertHandler,
+ Shutterbug::Handlers::DirectUploadHandler,
Shutterbug::Handlers::JsFileHandler,
- Shutterbug::Handlers::FileHandlers::PngFile,
- Shutterbug::Handlers::FileHandlers::HtmlFile
+ Shutterbug::Handlers::FileHandler
]
- attr_accessor :handlers
def add_handler(klass)
- instance = klass.new(@config)
- log "adding handler for #{instance.regex} ➙ #{klass.name}"
- self.handlers[instance.regex] = instance
+ instance = klass.new
+ log "adding handler for #{klass.regex} ➙ #{klass.name}"
+ @handlers[klass.regex] = instance
end
def add_default_handlers
DefaultHandlers.each { |h| add_handler(h) }
end
@@ -27,38 +26,36 @@
@app = app
add_default_handlers
log "initialized"
end
- def call env
- req = Rack::Request.new(env)
- result = false
- handlers.keys.each do |path_regex|
+ def call(env)
+ req = Rack::Request.new(env)
+ result = false
+ @handlers.keys.each do |path_regex|
if req.path =~ path_regex
- result = handlers[path_regex].handle(self, req, env)
+ result = @handlers[path_regex].handle(self, req, env)
end
end
result || skip(env)
end
- def good_response(content, type, cachable=true)
+ def response(content, type, status=200, cachable=true)
headers = {}
size = content.respond_to?(:bytesize) ? content.bytesize : content.size
headers['Content-Length'] = size.to_s
headers['Content-Type'] = type
headers['Cache-Control'] = 'no-cache' unless cachable
- # content must be enumerable.
- content = [content] if content.kind_of? String
- return [200, headers, content]
+ content = [content] unless content.respond_to? 'each'
+ return [status, headers, content]
end
def log(string)
puts "★ shutterbug #{Shutterbug::VERSION} ➙ #{string}"
end
def skip(env)
# call the applicaiton default
- @app.call env if @app
+ @app.call(env) if @app
end
-
end
end