lib/rocketio.rb in rocketio-0.0.0.pre.alpha vs lib/rocketio.rb in rocketio-0.0.0

- old
+ new

@@ -1,133 +1,5 @@ -# core -require 'uri' -require 'stringio' -require 'json' -require 'cgi' -require 'digest' -require 'forwardable' -# gems -require 'rack' -require 'mustache' -require 'tilt' +require "rocketio/version" -module RocketIO - extend self - - ENVIRONMENTS = { - 'development' => :development, - 'testing' => :testing, - 'stage' => :stage, - 'production' => :production - }.freeze - - environment = ENV['APP_ENV'] || ENV['RACK_ENV'] || ENVIRONMENTS.keys[0] - unless ENVIRONMENT = ENVIRONMENTS[environment] - raise(StandardError, '%s environment not supported. Use one of %s' % [environment.inspect, ENVIRONMENTS.keys*', ']) - end - - def environment - ENVIRONMENT - end - - ENVIRONMENTS.each_value do |env| - define_method(env.to_s + '?') {ENVIRONMENT == env} - end - - GET = 'GET'.freeze - POST = 'POST'.freeze - PUT = 'PUT'.freeze - DELETE = 'DELETE'.freeze - HEAD = 'HEAD'.freeze - - REQUEST_METHODS = { - GET => :get, - POST => :post, - PUT => :put, - DELETE => :delete, - HEAD => :head - }.freeze - - EMPTY_STRING = ''.freeze - EMPTY_STRING_PROC = proc {RocketIO::EMPTY_STRING} - EMPTY_ARRAY = [].freeze - EMPTY_HASH = {}.freeze - - SLASH = '/'.freeze - QUERY_PREFIX = '?'.freeze - - CONTENT_TYPE = 'Content-Type'.freeze - DEFAULT_CONTENT_TYPE = 'text/html'.freeze - CONTENT_LENGTH = 'Content-Length'.freeze - CONTENT_DISPOSITION = 'Content-Disposition'.freeze - APPLICATION_OCTET_STREAM = 'application/octet-stream'.freeze - DEFAULT_AUTH_REALM = 'AccessRestricted'.freeze - DEFAULT_TOKEN_AUTH_REALM = 'Application'.freeze - - REQUEST_METHOD = 'REQUEST_METHOD'.freeze - PATH_INFO = 'PATH_INFO'.freeze - HTTP_ACCEPT = 'HTTP_ACCEPT'.freeze - REMOTE_USER = 'REMOTE_USER'.freeze - - HTTP_CONNECTION = 'HTTP_CONNECTION'.freeze - HTTP_AUTHORIZATION_KEYS = ['HTTP_AUTHORIZATION', 'X-HTTP_AUTHORIZATION', 'X_HTTP_AUTHORIZATION'].map(&:freeze).freeze - HTTP_AUTHORIZATION_MOCKS = { - basic: 'Basic Og=='.freeze, - digest: 'Digest opaque="", qop="auth", uri="/"'.freeze - }.freeze - HTTP_UPGRADE = 'HTTP_UPGRADE'.freeze - UPGRADE = 'upgrade'.freeze - WEBSOCKET = 'websocket'.freeze - HTTP_1_1 = 'HTTP/1.1'.freeze - HTTP_VERSION = 'HTTP_VERSION'.freeze - HTTP_X_FORWARDED_HOST = 'HTTP_X_FORWARDED_HOST'.freeze - HTTP_IF_MATCH = 'HTTP_IF_MATCH'.freeze - HTTP_IF_NONE_MATCH = 'HTTP_IF_NONE_MATCH'.freeze - HTTP_IF_MODIFIED_SINCE = 'HTTP_IF_MODIFIED_SINCE'.freeze - HTTP_IF_UNMODIFIED_SINCE = 'HTTP_IF_UNMODIFIED_SINCE'.freeze - HTTP_X_REQUESTED_WITH = 'HTTP_X_REQUESTED_WITH'.freeze - XML_HTTP_REQUEST = 'XMLHttpRequest'.freeze - - LOCATION = 'Location'.freeze - CACHE_CONTROL = 'Cache-Control'.freeze - EXPIRES = 'Expires'.freeze - LAST_MODIFIED = 'Last-Modified'.freeze - ETAG = 'ETag'.freeze - ETAG_KINDS = [:strong, :weak].freeze - - DROP_BODY_RESPONSES = {204 => true, 205 => true, 304 => true}.freeze - - ERROR_TEMPLATES = begin - path = File.expand_path('../rocketio/error_templates/', __FILE__) - templates = {layout: Class.new(Mustache) {self.template = File.read(path + '/layout.html').freeze}} - Dir[path + '/*.html'].each_with_object(templates) do |file,templates| - next if file =~ /layout\.html\z/ - template = File.basename(file, File.extname(file)).to_i - templates[template] = Class.new(Mustache) {self.template = File.read(file).freeze} - end - end.freeze - - BEFORE_FORMAT = 'before_%s'.freeze - AROUND_FORMAT = 'around_%s'.freeze - AFTER_FORMAT = 'after_%s'.freeze - ROUTE_INSPECT_FORMAT = '#<RocketIO::Route:%s>'.freeze - ENGINE_CONST_FORMAT = '%sTemplate'.freeze - TEMPLATE_PATH_FORMAT = '%s/%s.%s'.freeze - - FOUND_TEMPLATES = {} - READ_TEMPLATES = {} - COMPILED_TEMPLATES = {} - - DEFAULT_ENGINE = [Tilt::ERBTemplate, [].freeze].freeze - - def controllers - @controllers ||= [] - end +module Rocketio + # Your code goes here... end - -require 'rocketio/util' -require 'rocketio/exceptions' -require 'rocketio/controller' -require 'rocketio/router' -require 'rocketio/application' - -RocketIO::Controller.map(RocketIO::SLASH)