Module: Shogun::Server

Defined in:
lib/shogun/server.rb

Instance Method Summary collapse

Instance Method Details

#serveObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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