class Swagui::App
Constants
- CORS_SETTING_PROC
Public Class Methods
new(app, options={}, &blk)
click to toggle source
# File lib/swagui/app.rb, line 19 def initialize(app, options={}, &blk) @app = app @asset_handler = AssetHandler.new(options[:url]) @swagger_doc_handler = SwaggerDocHandler.new(options[:path], options[:url]) if block_given? @asset_stack = Rack::Auth::Basic.new(@asset_handler, "Restricted Documentation", &blk) @swagger_doc_stack = Rack::Cors.new(Rack::Auth::Basic.new(@swagger_doc_handler, "Restricted Documentation", &blk), &CORS_SETTING_PROC) else @asset_stack = @asset_handler @swagger_doc_stack = Rack::Cors.new(@swagger_doc_handler, &CORS_SETTING_PROC) end end
Public Instance Methods
call(env)
click to toggle source
# File lib/swagui/app.rb, line 33 def call(env) if @asset_handler.handles?(env) # for assets (css/js) files @asset_stack.call(env) elsif @swagger_doc_handler.handles?(env) # for swagger json files @swagger_doc_stack.call(env) else @app.call(env) end end