Faraday: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдиреБрд░реЛрдз рдЯрд╛рдЗрдордЖрдЙрдЯ рдорд╛рди?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рд╕рд┐рддре░ 2014  ┬╖  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 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдХрдиреЗрдХреНрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреЗ рд╕рднреА рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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 рдКрдкрд░ рдЙрджрд╛рд╣рд░рдг рдЗрд╕реЗ рдЙрд╕ рдХрдиреЗрдХреНрд╢рди рд╕реЗ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ред рдлреИрд░рд╛рдбреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреБрдЫ рд╣реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ)ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mokolabs picture mokolabs  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yykamei picture yykamei  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ryanbyon picture ryanbyon  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

t3hk0d3 picture t3hk0d3  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

asf-stripe picture asf-stripe  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ