์์ฒญ๋น ์๊ฐ ์ด๊ณผ๋ฅผ ์ค์ ํ๋ ๋์ ์ธ์ ๋ด์์ ์ด๋ฆฐ ๋ชจ๋ ์ฐ๊ฒฐ์ ๋ํด ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์์ต๋๊น?
์์ฒญ๋ณ๋ก ํธ์งํ ์ ์๋ ์ต์ ์ ๋ชจ๋ ์์ฒญ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ Connection ์ธ์คํด์ค์์๋ ์ค์ ํ ์ ์์ต๋๋ค.
conn = Faraday.new("https://api.example.com", request: {
open_timeout: 2, # opening a connection
timeout: 5 # waiting for response
})
conn.get(...)
์๋ฒฝํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
๋ค๋ฅธ ๊ณณ์์ ์ด์ ๋ํ ์ฌ๋ฐ๋ฅธ ์ธ๊ธ์ด ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์ 0.9.2์ ๋น๋ ๋ฒ์ ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ ์ต์ ์์ฑ์ ์์ฒญ ์ต์ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
Faraday::Connection.new('https://api.example.com') do |builder|
builder.options[:open_timeout] = 2
builder.options[:timeout] = 5
builder.adapter Faraday.default_adapter
end
๋ ์ ๋ชจ๋ ์์ฒญ๋ณ๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ด๋ป๊ฒ ์ ์ญ์ ์ผ๋ก ์ค์ ํ ์ ์์ต๋๊น?
@neohunter ์์ ์ ๋ ํด๋น ์ฐ๊ฒฐ์์ ์ํ๋ ๊ฐ ์์ฒญ์ ๋ํด ์ค์ ํฉ๋๋ค. Faraday๋ ํ์ฌ ๋ชจ๋ ์ฐ๊ฒฐ์ ๋ํ ์ ์ญ ์ค์ ์ ์ง์ํ์ง ์์ง๋ง ๊ด๋ฆฌํ๋ ์ฐ๊ฒฐ ์๊ฐ ๋ช ๊ฐ(์ค์ ๋ก๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ๋๋ง)์ฌ์ผ ํ๋ฏ๋ก ์ค์ ๋ก ํ์ํ์ง ์์์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค๋ฅธ ๊ณณ์์ ์ด์ ๋ํ ์ฌ๋ฐ๋ฅธ ์ธ๊ธ์ด ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์ 0.9.2์ ๋น๋ ๋ฒ์ ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ ์ต์ ์์ฑ์ ์์ฒญ ์ต์ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.