Class: Vayacondios::Rack::PathValidation

Inherits:
Object
  • Object
show all
Includes:
Goliath::Rack::AsyncMiddleware
Defined in:
lib/vayacondios/server/rack/path_validation.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, opts = {}) ⇒ PathValidation

Returns a new instance of PathValidation.



6
7
8
# File 'lib/vayacondios/server/rack/path_validation.rb', line 6

def initialize(app, opts = {})
  @app = app ; @opts = opts
end

Instance Method Details

#call(env) ⇒ Object



10
11
12
13
# File 'lib/vayacondios/server/rack/path_validation.rb', line 10

def call(env)
  return [400, {}, MultiJson.dump({ error: "Bad Request. Format path is <host>/v1/<org>/event/<topic>" })] unless valid_paths? env[:vayacondios_path]
  @app.call(env)
end

#valid_paths?(path) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
# File 'lib/vayacondios/server/rack/path_validation.rb', line 15

def valid_paths?(path)
  # use @opts for validation later
  path.nil? ? false : true
end