class Kibana::Rack::Web
Rack
application that serves Kibana
and proxies requests to Elasticsearch
Public Instance Methods
proxy()
click to toggle source
# File lib/kibana/rack/web.rb, line 22 def proxy es_host = settings.elasticsearch_host es_port = settings.elasticsearch_port @proxy ||= Faraday.new(url: "http://#{es_host}:#{es_port}") end
proxy_es_request()
click to toggle source
# File lib/kibana/rack/web.rb, line 28 def proxy_es_request request.body.rewind proxy_method = request.request_method.downcase.to_sym proxy_response = proxy.send(proxy_method) do |proxy_request| proxy_request.url(request.path_info) proxy_request.headers['Content-Type'] = 'application/json' proxy_request.params = env['rack.request.query_hash'] proxy_request.body = request.body.read if [:post, :put].include?(proxy_method) end [proxy_response.status, proxy_response.headers, proxy_response.body] end
render_not_found()
click to toggle source
# File lib/kibana/rack/web.rb, line 42 def render_not_found halt(404, '<h1>Not Found</h1>') end
validate_kibana_index_name()
click to toggle source
# File lib/kibana/rack/web.rb, line 18 def validate_kibana_index_name render_not_found unless params[:index] == settings.kibana_index end