lib/libgss/action_request.rb in libgss-0.3.0 vs lib/libgss/action_request.rb in libgss-0.4.0
- old
+ new
@@ -6,10 +6,13 @@
module Libgss
class ActionRequest
+ class Error < StandardError
+ end
+
STATUS_PREPARING = 0
STATUS_SENDING = 1
STATUS_WAITING = 2
STATUS_RECEIVED = 3
STATUS_SUCCESS = 4
@@ -47,13 +50,19 @@
end
# アクション群を実行するために実際にHTTPリクエストを送信します。
def send_request(&callback)
res = @httpclient.post(action_url, {"inputs" => @actions.map(&:to_hash)}.to_json)
+ 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
+ @outputs
end
# 条件に該当するデータを取得
# @param [String] name 対象となるコレクション名
# @param [Hash] conditions 検索条件