class Soybean::StaticServer

Attributes

cache[RW]

Public Instance Methods

call(env) click to toggle source
# File lib/soybean/static_server.rb, line 5
def call(env)
  path = env["PATH_INFO"]

  unless @urls.kind_of? Hash
    can_serve = @urls.any? { |url| path.index(url) == 0 }
  else
    can_serve = @urls.key? path
  end

  if can_serve
    env["PATH_INFO"] = @urls[path] if @urls.kind_of? Hash
    @file_server.call(env)
  else
    @app.call(env)
  end
end
rewrite(env) click to toggle source
# File lib/soybean/static_server.rb, line 22
def rewrite(env)
  doc = Nokogiri.XML File.read(env["PATH_INFO"])
  address = d.search('definitions/service/port/:first').first
  address['location'] = "#{env['SERVER_NAME']}:#{env['SERVER_PORT']}/#{env['soybean.service.endpoint']}"
  @cache[env["PATH_INFO"]] = doc

end