Class: Wsv::App

Inherits:
Object
  • Object
show all
Defined in:
lib/wsv/app.rb

Constant Summary collapse

ALLOWED_METHODS =
%w[GET HEAD].freeze
RANGE_PATTERN =
/\Abytes=(\d+)?-(\d+)?\z/

Instance Method Summary collapse

Constructor Details

#initialize(root, spa: false, cors: false) ⇒ App

Returns a new instance of App.



14
15
16
17
18
# File 'lib/wsv/app.rb', line 14

def initialize(root, spa: false, cors: false)
  @resolver = PathResolver.new(root)
  @spa = spa
  @cors = Cors.new if cors
end

Instance Method Details

#call(request) ⇒ Object



20
21
22
23
24
25
# File 'lib/wsv/app.rb', line 20

def call(request)
  return @cors.preflight(request) if @cors && request.method == "OPTIONS"

  response = build_response(request)
  @cors ? @cors.overlay(response) : response
end