[ruby-list:50473] [質問]httpPost response.body処理について
From:
<yamataka@...08.itscom.net>
Date:
2016-12-27 06:15:45 UTC
List:
ruby-list #50473
山口と申します。
httpPostの関数を以下の様に定義しているのですが、
def httpPost(ip,port,request_uri,arg)
request = Net::HTTP::Post.new(request_uri, initheader = {'Content-Type
' =>'application/json'})
request.body = JSON.generate(arg)
http = Net::HTTP.new(ip,port)
http.use_ssl = false
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
response = nil
http.start do |h|
response = h.request(request)
end
return response.body
end
response.bodyに関して、
https://docs.ruby-lang.org/ja/1.8.7/library/net=2fhttp.html の例3や4の様
に
http.start do … end の後で、処理する
h.requestが1回で完結するならいいが、
複数回 h.request が呼び出された場合、最後の戻り値のrequest.body しか得ら
れない?
そもそも、この例は サンプルなので、h.request が 1回で完結する事前提?
だとすると、
http://satomemocho.blogspot.jp/2015/10/ruby-nethttp.html
の “POSTの場合” のように、http.start do |h| 内で、requset.body 処理する
様に、自分のコードは記述した方がいいのかと思うが…
どちらが正しい?のか、ご教示いただけますでしょうか?