Kouhei Sutou
null+****@clear*****
Wed Feb 12 11:28:57 JST 2014
Kouhei Sutou 2014-02-12 11:28:57 +0900 (Wed, 12 Feb 2014) New Revision: 1b1ca779246f62a800ff6f64cf4dc9621654c5d7 https://github.com/droonga/droonga-client-ruby/commit/1b1ca779246f62a800ff6f64cf4dc9621654c5d7 Message: droonga-rquest: support multiple JSONs Modified files: bin/droonga-request Modified: bin/droonga-request (+21 -16) =================================================================== --- bin/droonga-request 2014-02-09 12:53:28 +0900 (5a3aa11) +++ bin/droonga-request 2014-02-12 11:28:57 +0900 (287027c) @@ -16,7 +16,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA require "optparse" -require "json" +require "yajl" require "droonga/client" @@ -91,23 +91,28 @@ parser.on("--[no-]report-elapsed-time", end *rest = parser.parse!(ARGV) -if rest.size < 1 - puts("request JSON file is missing.") - exit(false) -end - request_json_file = rest.first client = Droonga::Client.new(options) -request_message = JSON.parse(File.read(request_json_file)) -start = Time.now -request = client.request(request_message) do |response| - puts("Elapsed time: #{Time.now - start}") if options[:report_elapsed_time] - begin - puts(JSON.pretty_generate(response)) - rescue - p(response) +json_parser = Yajl::Parser.new +json_parser.on_parse_complete = lambda do |request_message| + start = Time.now + request = client.request(request_message) do |response| + puts("Elapsed time: #{Time.now - start}") if options[:report_elapsed_time] + begin + puts(JSON.pretty_generate(response)) + rescue + p(response) + end + break if options[:exit_on_response] + end + request.wait +end + +if request_json_file + File.open(request_json_file) do |input| + json_parser.parse(input) end - break if options[:exit_on_response] +else + json_parser.parse($stdin) end -request.wait -------------- next part -------------- HTML����������������������������... Descargar