์ด ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ๋ก๊ฑฐ๊ฐ ํธ์ถ๋ ๋ ์์ง ํค๋์ ๋ณธ๋ฌธ์ด ์๊ธฐ ๋๋ฌธ์ ์ถฉ๋ํฉ๋๋ค.
require 'faraday'
conn = Faraday.new(url: "http://google.com") {|config| config.response :logger}
conn.get "/"
/Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response/logger.rb:31:in `dump_headers': undefined method `map' for nil:NilClass (NoMethodError)
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response/logger.rb:25:in `block in on_complete'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/logger.rb:376:in `add'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/logger.rb:404:in `debug'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response/logger.rb:25:in `on_complete'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response.rb:9:in `block in call'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response.rb:63:in `on_complete'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response.rb:8:in `call'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/response/logger.rb:20:in `call'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/connection.rb:253:in `run_request'
from /Users/synapse/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/faraday-0.8.8/lib/faraday/connection.rb:106:in `get'
from faraday_bug.rb:4:in `<main>'
์์๋ฉ๋๋ค. ๋ฏธ๋ค์จ์ด๋ HTTP ์์ฒญ ์์ด, ์ฆ ์ด๋ํฐ ์์ด ์๋ํ ์ ์์ต๋๋ค.
Faraday.new(url: "http://google.com") do |conn|
conn.response :logger
conn.adapter Faraday.default_adapter
end
@mislav ๊ฐ ์์๋๋ ๋์์ด์ง๋ง ๊ฒฐ๊ณผ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ ์ ์ฉํ ์ ์์ต๋๋ค.
@sethvargo์ ๋์ํฉ๋๋ค. ๋ฉ์์ง๊ฐ ๋ ์ข์ ์ ์์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์ํ์์ Faraday.new
๋ก ์ด๋ํ ๋ค์ conn.response :logger
. ๊ธฐ๋ณธ์ ์ผ๋ก adapter
๊ฐ default_adapter
๊ฒ์ผ๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ์ ์ค๋ฅ์ ์๋นํ ํผ๋์ค๋ฌ์ ์ต๋๋ค. ๋ค๋ฅธ ์ค๋ฅ๋ฅผ ๋๋ฒ๊น
ํ๋ ๋ฐ ๋์์ด ๋์ง ์์์ผ๋ฏ๋ก ์ด๊ฒ์ด ์๋ ์ค๋ฅ์ ๋ ๋ค๋ฅธ ์ฆ์์ผ ์ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
๋๋ ๋ํ์ด ๋ฌธ์ ์ ๋ถ๋ช์ณค๋ค. ์์๋๋ ๋์์ Faraday๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์ด๋ํฐ๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
์ด ์์ ์ ์ํํ์ง ์์ผ๋ ค๋ฉด '์ด๋ํฐ๊ฐ ์ง์ ๋์ง ์์' ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ๋จธ๋ฆฌ๋ฅผ ๊ธ๋ ์ผ์ ๋ง์ด ์ค์ผ ์ ์์ต๋๋ค.
@mislav ๋ฐฉ๊ธ @bluefuton ์ด ๋งํ ๊ฒ์ ์ ํํ ๋ง
์, ๋๊ฐ์ ๊ฒ์ ๋ฌผ๋ฆฐ ๊ฒ๋ฟ์ ๋๋ค. ์ผ๋ฐ์ ์ธ ์ค์์ผ ๊ฐ๋ฅ์ฑ์ด ์๋ ๋น๋ฐ ์ค๋ฅ ๋ฉ์์ง์ ๋๋ค. (๋ช ์ํ ํ์๊ฐ ์๋ค๊ณ ์๋ชป ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ํฐ ์ฌ์์ ์ ๊ฑฐํ์ต๋๋ค.)
@mislav "์ด๋ํฐ๊ฐ ์ง์ ๋์ง ์์"๊ณผ ๊ฐ์ ์ค๋ฅ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํ ํ ์์ฒญ์ ์๋ฝํ์๊ฒ ์ต๋๊น?
๋๋ ๋ช ์์ ์ผ๋ก ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ "๊ธฐ๋ณธ ์ด๋ํฐ"๋ฅผ ๊ฐ์ ํ์๊ฒ ์ต๋๊น?
์ค, @pengwynn๋ , ๋น์ ๋ ์ด ์กฐ์ง์ ์ผ์์ด๋ผ๋ ๊ฒ์ ์์์ฐจ๋ ธ์ต๋๋ค. Mislav๋ ์์ ๋ต์ฅ์ ํ์ง ์์์ผ๋ฏ๋ก ์ด์ ๋ํ ์๊ฐ์ด ์์ต๋๊น? ํ์ง๋ง ๋ค๋ฅธ ์ฌ๋์ ๋ฐ๊ฐ๋ฝ์ ๋ฐ์ ์๋๋ ์์ต๋๋ค. Mislav๊ฐ ์ด๋ฌํ ์ ํ๋ฅผ ๊ฑธ๋ฉด ๊ทธ๋ฅผ ์ฐํํ๊ณ ์ถ์ง ์์ต๋๋ค. :)
๋ฉ์์ง๊ฐ ๋ ์ข์์ผ ํฉ๋๋ค. ๋น๋ก ๋ด๊ฐ ๋งํ๋ฏ์ด, ์ด๋ค ๋ฏธ๋ค์จ์ด๋ ์ด๋ํฐ ์์ด๋ ์ค์ ๋ก ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ํนํ ์ด ๋ฏธ๋ค์จ์ด์ ๋ํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๊ฐ์ ํ๋ฉด ๋ค๋ฅธ ๋ฏธ๋ค์จ์ด์ ๋ค๋ฅธ ์์๊ป๋ผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋จ์ต๋๋ค.
์ ์ ํ ํด๊ฒฐ์ฑ ์ Connection ๊ฐ์ฒด๊ฐ ์คํ์ ์ด๋ํฐ๋ฅผ ํฌํจํ์ง ์์ ๋ Faraday๊ฐ ์ผ์ฐ ์ค๋จ๋๋ ๊ฒ์ ๋๋ค. #47, #121, #170 ์ค ํ๋๋ฅผ ๊ตฌ๋ ํ์ญ์์ค
@mislav ์ํ, ์ค๋ช ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋ก๊ฑฐ์ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด pull ์์ฒญ์ ํ๋ ค๊ณ ํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ ์ ์๋ ์๋นํ ๊ฐ๋จํ ๋ณ๊ฒฝ์ผ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ด์ฐฎ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ ์ ํ ์์ ์ฌํญ๋ ์ดํด๋ณผ ์ ์์ง๋ง ๋ ์ด๋ ค์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ฌ์ฑํ ์๊ฐ์ด๋ ๊ธฐ์ ์ด ์์ ์๋ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์์๋ฉ๋๋ค. ๋ฏธ๋ค์จ์ด๋ HTTP ์์ฒญ ์์ด, ์ฆ ์ด๋ํฐ ์์ด ์๋ํ ์ ์์ต๋๋ค.