Project

General

Profile

Download (825 Bytes) Statistics
| Branch: | Tag: | Revision:
class Proxy::RootApi < Sinatra::Base
helpers ::Proxy::Helpers

get "/features" do
enabled_plugins = ::Proxy::Plugins.instance.select {|p| p[:state] == :running && p[:class].ancestors.include?(::Proxy::Plugin)}
enabled_plugin_names = (enabled_plugins.map {|p| p[:name].to_s} - ['foreman_proxy']).sort
content_type :json
enabled_plugin_names.to_json
rescue => e
log_halt 400, e
end

get "/version" do
content_type :json
enabled_plugins = ::Proxy::Plugins.instance.select {|p| p[:state] == :running && p[:class].ancestors.include?(::Proxy::Plugin)}
modules = Hash[enabled_plugins.map {|plugin| [plugin[:name].to_s, plugin[:version].to_s]}].reject { |key| key == 'foreman_proxy' }
{:version => Proxy::VERSION, :modules => modules}.to_json
rescue => e
log_halt 400, e
end
end
(3-3/6)