module Shogun::Server

Public Instance Methods

serve() click to toggle source
# File lib/shogun/server.rb, line 3
def serve
  @rack.use(Rack::Log, @logger)
  @rack.use(Rack::Runtime)
  @rack.use(Rack::Protection::HttpOrigin, origin_whitelist: origin_whitelist)
  @rack.use(Rack::Protection::EscapedParams)
  @rack.use(Rack::Protection::XSSHeader)
  @rack.use(Rack::Protection::FrameOptions)
  @rack.use(Rack::Protection::PathTraversal)
  @rack.use(Rack::Protection::IPSpoofing)
  @rack.use(ActiveRecord::ConnectionAdapters::ConnectionManagement)
  @rack.use(ActiveRecord::QueryCache)
  @rack.use(Rack::Chunker)
  @rack.use(Rack::AcceptSetter, accept_types)
  @rack.use(Rack::ContentLengthSetter)
  @rack.use(Rack::AuthenticationBearer, &bearer)
  @rack.use(Rack::BodyDeserializer, deserialization_map)
  @rack.use(Rack::BodySerializer, serialization_map, default_serializer)
  @rack.use(Rack::Cors, &cors)
  @rack.run(Shogun::Dispatch.new(logger: @logger, &endpoints))
end

Private Instance Methods

accept_types() click to toggle source
# File lib/shogun/server.rb, line 44
        def accept_types
  self.class.const_get("ACCEPT_TYPES")
end
bearer() click to toggle source
# File lib/shogun/server.rb, line 32
        def bearer
  self.class.const_get("BEARER")
end
cors() click to toggle source
# File lib/shogun/server.rb, line 48
        def cors
  self.class.const_get("CORS")
end
default_serializer() click to toggle source
# File lib/shogun/server.rb, line 40
        def default_serializer
  self.class.const_get("DEFAULT_SERIALIZER")
end
deserialization_map() click to toggle source
# File lib/shogun/server.rb, line 28
        def deserialization_map
  self.class.const_get("DESERIALIZATION_MAP")
end
endpoints() click to toggle source
# File lib/shogun/server.rb, line 24
        def endpoints
  self.class.const_get("ENDPOINTS")
end
origin_whitelist() click to toggle source
# File lib/shogun/server.rb, line 52
        def origin_whitelist
  self.class.const_get("ORIGIN_WHITELIST")
end
serialization_map() click to toggle source
# File lib/shogun/server.rb, line 36
        def serialization_map
  self.class.const_get("SERIALIZATION_MAP")
end