Faraday: ๊ธฐ๋ณธ ์š”์ฒญ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๊ฐ’?

์— ๋งŒ๋“  2014๋…„ 09์›” 23์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: lostisland/faraday

์š”์ฒญ๋‹น ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋Œ€์‹  ์„ธ์…˜ ๋‚ด์—์„œ ์—ด๋ฆฐ ๋ชจ๋“  ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹ค๋ฅธ ๊ณณ์—์„œ ์ด์— ๋Œ€ํ•œ ์˜ฌ๋ฐ”๋ฅธ ์–ธ๊ธ‰์ด ๊ฑฐ์˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— 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

๋ชจ๋“  5 ๋Œ“๊ธ€

์š”์ฒญ๋ณ„๋กœ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์€ ๋ชจ๋“  ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” 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 / 5 - 0 ๋“ฑ๊ธ‰