Sha256: 1c6b836253c18a6abe4f8c0f78856b87d5e1773566e82278282eabeb76281dfd
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
# -*- coding: utf-8 -*- require 'libgss' require 'net/http' require 'uri' module Libgss class AsyncActionRequest < ActionRequest attr_reader :ids attr_accessor :action_id # アクション群を実行するために実際にHTTPリクエストを送信します。 def send_request(&callback) res = @httpclient.post(action_url, {"inputs" => @actions.map(&:to_hash)}.to_json, req_headers) case res.code.to_i when 200..299 then # OK else raise Error, "failed to send action request: [#{res.code}] #{res.body}" end r = JSON.parse(res.body) # puts res.body @outputs = Outputs.new(r["outputs"]) callback.call(@outputs) if callback @ids = @outputs.map do |output| output['id'] end @outputs end def async_status() raise Error, "failed to get response. please exec send_request before call." unless @ids res = @httpclient.get(action_url, {input_ids: @ids.join(',')}, req_headers) case res.code.to_i when 200..299 then # OK else raise Error, "failed to send action request: [#{res.code}] #{res.body}" end r = JSON.parse(res.body) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
libgss-0.7.0 | lib/libgss/async_action_request.rb |