lib/spontaneous/rack.rb in spontaneous-0.2.0.beta1 vs lib/spontaneous/rack.rb in spontaneous-0.2.0.beta2

- old
+ new

@@ -3,19 +3,40 @@ require "rack" require "sinatra/base" module Spontaneous module Rack - NAMESPACE = "/@spontaneous".freeze - ACTIVE_USER = "SPONTANEOUS_USER".freeze - ACTIVE_KEY = "SPONTANEOUS_KEY".freeze - AUTH_COOKIE = "spontaneous_api_key".freeze - KEY_PARAM = "__key".freeze - RENDERER = "spot.renderer".freeze + module Constants + METHOD_GET = "GET".freeze + METHOD_POST = "POST".freeze + METHOD_HEAD = "HEAD".freeze + HTTP_CONTENT_LENGTH = "Content-Length".freeze + HTTP_EXPIRES = "Expires".freeze + HTTP_CACHE_CONTROL = "Cache-Control".freeze + HTTP_LAST_MODIFIED = "Last-Modified".freeze + HTTP_NO_CACHE = "max-age=0, must-revalidate, no-cache, no-store".freeze - EXPIRES_MAX = DateTime.parse("Thu, 31 Dec 2037 23:55:55 GMT").httpdate + NAMESPACE = "/@spontaneous".freeze + AUTH_COOKIE = "spontaneous_api_key".freeze + SESSION_LIFETIME = 1.year + # Rack env params + ACTIVE_USER = "spot.user".freeze + ACTIVE_KEY = "spot.key".freeze + RENDERER = "spot.renderer".freeze + REVISION = "spot.revision".freeze + CSRF_VALID = "spot.csrf_valid".freeze + CSRF_TOKEN = "spot.csrf_token".freeze + CSRF_HEADER = "X-CSRF-Token".freeze + CSRF_PARAM = "__token".freeze + CSRF_ENV = ("HTTP_" << CSRF_HEADER.upcase.gsub(/-/, "_")).freeze + + EXPIRES_MAX = DateTime.parse("Thu, 31 Dec 2037 23:55:55 GMT").httpdate + end + + include Constants + class << self def application case Spontaneous.mode when :back Back.application @@ -27,45 +48,34 @@ def port Site.config.port end def make_front_controller(controller_class) - controller_class.use(Spontaneous::Rack::AroundFront) + Spontaneous::Rack::Front.make_controller(controller_class) end def make_back_controller(controller_class) - controller_class.helpers Spontaneous::Rack::Helpers - controller_class.helpers Spontaneous::Rack::UserHelpers - controller_class.use Spontaneous::Rack::CookieAuthentication - controller_class.use Spontaneous::Rack::AroundBack - controller_class.register Spontaneous::Rack::Authentication + Spontaneous::Rack::Back.make_controller(controller_class) end end class ServerBase < ::Sinatra::Base + include Constants + set :environment, Proc.new { Spontaneous.environment } end - autoload :AroundBack, 'spontaneous/rack/around_back' - autoload :AroundFront, 'spontaneous/rack/around_front' - autoload :AroundPreview, 'spontaneous/rack/around_preview' autoload :Assets, 'spontaneous/rack/assets' - autoload :Authentication, 'spontaneous/rack/authentication' + autoload :AssetServer, 'spontaneous/rack/asset_server' autoload :Back, 'spontaneous/rack/back' autoload :CSS, 'spontaneous/rack/css' autoload :CacheableFile, 'spontaneous/rack/cacheable_file' - autoload :CookieAuthentication, 'spontaneous/rack/cookie_authentication' autoload :EventSource, 'spontaneous/rack/event_source' autoload :Front, 'spontaneous/rack/front' - autoload :HTTP, 'spontaneous/rack/http' - autoload :Helpers, 'spontaneous/rack/helpers' autoload :JS, 'spontaneous/rack/js' + autoload :Middleware, 'spontaneous/rack/middleware' autoload :PageController, "spontaneous/rack/page_controller" autoload :Public, 'spontaneous/rack/public' - autoload :QueryAuthentication, 'spontaneous/rack/query_authentication' - autoload :Reloader, 'spontaneous/rack/reloader' autoload :SSE, 'spontaneous/rack/sse' autoload :Static, 'spontaneous/rack/static' - autoload :UserAdmin, 'spontaneous/rack/user_admin' - autoload :UserHelpers, 'spontaneous/rack/user_helpers' end end