Class: PdfSearch::WebServer
- Inherits:
-
Object
- Object
- PdfSearch::WebServer
- Defined in:
- lib/web_server.rb
Instance Attribute Summary collapse
-
#daemon ⇒ Object
Returns the value of attribute daemon.
Instance Method Summary collapse
Instance Attribute Details
#daemon ⇒ Object
Returns the value of attribute daemon.
4 5 6 |
# File 'lib/web_server.rb', line 4 def daemon @daemon end |
Instance Method Details
#response_html(elasticsearch_response) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/web_server.rb', line 26 def response_html(elasticsearch_response) results = JSON.parse(elasticsearch_response)['hits']['hits'] results.map do |result| "<li>#{result["_source"]["text"]}</li>" end.join("\n") end |
#start ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/web_server.rb', line 6 def start start_server = lambda do server = WEBrick::HTTPServer.new(:Port => 80, :DocumentRoot => ::PdfSearch.relative_to_gem_path(['html'])) server.mount_proc '/search' do |request, response| query = request.query["query"] elastic_response = Net::HTTP.get(URI.parse("#{ENV['ELASTICSEARCH_URL']}/_all/_search?q=text:#{query}")) response.body = response_html(elastic_response) end server.start end if ENV['DEBUG_PDF_SEARCH'] == '1' start_server.call else self.daemon = Daemons.call(multiple: true, &start_server) end end |