Faraday: рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рд▓реЙрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдЬреБрд▓ре░ 2016  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: lostisland/faraday

рдирдорд╕реНрддреЗред

рдореИрдВ рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдпреЛрдВ рджреЛрдиреЛрдВ рдХреЛ 0.9.2 рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди # 277 рдкреАрдЖрд░ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЙрдЪрд┐рдд рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ Saorin рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреИрд░рд╛рдбреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ..

  <strong i="9">@client</strong> = Saorin::Client.new(:url => @endpoint) do |connection|
    connection.response :logger, <strong i="10">@logger</strong>, :bodies => true
  end

рдореЗрд░реА рдирдЬрд░ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдбреАрдмрдЧ рдЖрдЙрдЯрдкреБрдЯ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ (рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ)ред
(рдФрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдореБрджреНрд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ)ред

рддреЛ рдореБрдЭреЗ рд▓реЙрдЧ рдореЗрдВ рдЗрд╕ рддрд░рд╣ sth рдорд┐рд▓рддрд╛ рд╣реИ: ( request рдХреЗ рд▓рд┐рдП рдиреЛрдЯ рдорд╛рдиред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ response рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реИред

post https://foo.bar.com/api/3.0/json-rpc
request User-Agent: "Faraday v0.9.2"
Content-Type: "application/json"
request {"result":{"accessGranted":false},"id":"foo","jsonrpc":"2.0"}
Status 200
response server: "nginx"
date: "Thu, 14 Jul 2016 21:28:21 GMT"
content-type: "application/json"
transfer-encoding: "chunked"
connection: "close"
response {"result":{"accessGranted":false},"id":"foo","jsonrpc":"2.0"}

faraday/response/logger.rb рдХреЗ рдЗрд╕ рдХреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

    def call(env)
      info "#{env.method} #{env.url.to_s}"
      debug('request') { dump_headers env.request_headers }
      debug('request') { dump_body(env[:body]) } if env[:body] && log_body?(:request)
      super
    end

    def on_complete(env)
      info('Status') { env.status.to_s }
      debug('response') { dump_headers env.response_headers }
      debug('response') { dump_body env[:body] } if env[:body] && log_body?(:response)
    end

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝рддрд╛ рд╣реВрдВ, рддреЛ рд▓рд╛рдЗрди: debug('request') { dump_body(env[:body]... рдЙрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред

рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ env[] рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХрд╣реАрдВ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ :-( рдХреЗрд╡рд▓ request_headers , request_options рдФрд░ response рдбреЗрдЯрд╛ред

рдЪреВрдВрдХрд┐, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛, рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рддреА рдХреА рд╣реИред рдкрд░ рдХрд╣рд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдп @iMacTia , рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд▓реЙрдЧрд░ рд╕реЗ рдкрд╣рд▓реЗ рдПрдбрд╛рдкреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдорд╕реНрдпрд╛ рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред

рдпрд╣ рдХреЛрдб рд▓реЙрдЧ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп:

Faraday.new(url: url) do |faraday|
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true
  faraday.adapter Faraday.default_adapter
end

рдпрд╣ рдирд╣реАрдВ:

Faraday.new(url: url) do |faraday|
  faraday.adapter Faraday.default_adapter
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true
end

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@nthx рдореИрдВ рдЗрд╕реЗ рднреА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ ..

@stve - рдХреНрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЖрдкрдХреЛ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИ?

рд╢рд╛рдпрдж рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА ..

<strong i="6">@client</strong> = Saorin::Client.new(:url => @endpoint) do |connection|
  connection.response :logger, <strong i="7">@logger</strong>, :bodies => true
  connection.request :logger, <strong i="8">@logger</strong>, :bodies => true
end

рдпрд╣ рдПрдХ рдорд╛рдирдХ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ env[:body] рдПрдХ рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рд▓реЙрдЧ рд╡рд┐рдзрд┐ рдпрд╛ рдбрдВрдк_рдмреЙрдбреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдиреЗ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЛ env[:body] рдХреЗ рдЕрдВрджрд░ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдореВрд▓ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рд╕реЗ рдХреЛрдИ рдФрд░ рдЪрд░/рдкреНрд░рддрд┐рдпрд╛рдВ рдирд╣реАрдВ рдмрдирддреА рд╣реИрдВ, рди рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдЧреАред env рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИ, рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЙрд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдФрд░ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдирд┐рдХрд╛рдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ env рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛, рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП, рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдПред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдпрд╣ рдмрдЧ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рд╣реИрдВ: request_headers рдФрд░ response_headers ред рддреЛ рдХреНрдпреЛрдВ рди рдЙрдирдХреЗ рдмрддрд╛рдП рд░рд╛рд╕реНрддреЗ рдкрд░ рдЪрд▓реЗрдВ...

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рджреВрд╕рд░рд╛ env рдорд╛рди рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ request_body рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЛ env.request_body рдФрд░ env.body рджреЛрдиреЛрдВ рдореЗрдВ рджреЛ рдмрд╛рд░ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреЛрдИ рднреА рдХреЛрдб рдЬреЛ рдореМрдЬреВрджрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рд▓реЙрдЧрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдЬреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ request_body рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдлреИрд░рд╛рдбреЗ рдХреЛ рдкреИрдЪ рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓реЙрдЧрд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ ...

@nthx , рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдХрд┐рд╕ рд▓реЙрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рдХреЛрдб рдареАрдХ рджрд┐рдЦрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ "рдореБрджреНрджрд╛" рдЬреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рд╕рдВрджреЗрд╢ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░реЛрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЙрдирдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдЕрдиреБрд░реЛрдз рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдирдХ (рд╕рд┐рдВрдХреНрд░реЛрдирд╕) рд▓реЙрдЧрд░ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ :)

рдЕрд╕рд▓ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓реЙрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рдиреЗ рдЕрдиреНрдп рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдореИрдВ рдорд╛рдирдХ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ред

рд╣рд╛рдп @nthx , рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рднрд╛рдЧреНрдп? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреБрдЫ рдирдпрд╛ рдЦреЛрдЬрд╛?
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдлреИрд░рд╛рдбреЗ рдпрд╛ рд▓реЙрдЧрд░ рдкрд░ рд╣реИ

рдореИрдВ рдпрд╣ рдорд╛рдирдХрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЧрд▓рддреА рд▓реЙрдЧрд░ рдкрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдорд╛рдирдХ рдПрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

@nthx рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлреИрд░рд╛рдбреЗ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рдирдпрд╛ рд╕рдмреВрдд рд╣реИ

рдЙрд╕ рд╕рдордп рдлреИрд░рд╛рдбреЗ рдмрд┐рд▓реНрдЯ-рдЗрди рд▓реЙрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдпрд╣ рдмрдЧ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдореЗрдВ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд▓реЙрдЧрд░ рд▓рд┐рдЦрдХрд░ рд╣рд▓ рдХрд┐рдпрд╛, рдФрд░ рдмрд╛рдж рдореЗрдВ рдлреИрд░рд╛рдбреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдЖрд╕рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗред

рд╣рд╛рдп @iMacTia , рдореИрдВ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд▓реЙрдЧрд░ рд╕реЗ рдкрд╣рд▓реЗ рдПрдбрд╛рдкреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдорд╕реНрдпрд╛ рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред

рдпрд╣ рдХреЛрдб рд▓реЙрдЧ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп:

Faraday.new(url: url) do |faraday|
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true
  faraday.adapter Faraday.default_adapter
end

рдпрд╣ рдирд╣реАрдВ:

Faraday.new(url: url) do |faraday|
  faraday.adapter Faraday.default_adapter
  faraday.response :logger, ::Logger.new(STDOUT), bodies: true
end

рд╣рд╛рдп @llxff ,

рд╣рд╛рдБ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдСрд░реНрдбрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рдПрдбреЗрдкреНрдЯрд░ рд╣рдореЗрд╢рд╛ рдиреАрдЪреЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдк рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рдкрд╣рд▓реЗ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд▓реЙрдЧрд░ рдПрдбреЙрдкреНрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЛ рдмрд╛рд░ рд▓реЙрдЧ рд╣реЛ рдЬрд╛рдПрдЧреАред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЕрдм рдЗрд╕рдХреЗ рд╕рд╛рде @nthx рдореБрджреНрджреЗ рдХреЛ рд╡рд╛рдкрд╕ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЕрднреА рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╡рд╣ рдЕрдкрдиреЗ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╕реНрдЯреИрдХ рдореЗрдВ рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реИ:

<strong i="11">@client</strong> = Saorin::Client.new(:url => @endpoint) do |connection|
    connection.response :logger, <strong i="12">@logger</strong>, :bodies => true
  end

рдореИрдВрдиреЗ Saorin рд░рддреНрди рдореЗрдВ рднреА рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдЙрд╕реА рд╕рдЯреАрдХ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рджрд┐рдЦрддрд╛ рд╣реИ: https://github.com/mashiro/saorin/blob/master/lib/saorin/client/faradayред рдЖрд░рдмреА#рдПрд▓16

рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореИрдВ рдЕрднреА рддрдХ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ... рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░рд┐рдкреЛрд░реНрдЯ рдкрдврд╝ рд▓реА рд╣реИ рдФрд░ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ:

рдпрд╣ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди # 277 рдкреАрдЖрд░ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдорд╛рдорд▓рд╛ рд╣реИ, рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдЗрд╕ рдкрд░ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ?
рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реЛрддреЗ, рддреЛ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдбреЙрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдХрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╛ рд╢рд╛рдпрдж рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рд╕рд╛рдУрд░рд┐рди рд▓реЛрдЧреЛрдВ рд╕реЗ рдХрд┐рд╕рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╣рд╛рдп @nthx рдЖрдк рдмрд╣реБрдд рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╕реНрддреГрдд рдирд╣реАрдВ рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рд░реАрдбрдореА рдХреЛ "рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг" рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред
рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ, https://github.com/lostisland/faraday/blob/master/README.md#basic -use рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧрд░ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ .
рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд┐рдХреА рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗред

рд╕реЛрд░рд┐рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреЗ рдкреЗрдЬ рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЦреЛрд▓реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдлрд▓ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдФрд░ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдордгрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж

рдирдорд╕реНрддреЗ,

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБ рдХрд┐ рдореЗрд░реЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдП рдЧрдПред

рд╣рдордиреЗ рдПрдХ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдпрд╣ рдерд╛ рдХрд┐ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП env.body рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдореЗрд░реЗ рд▓реЙрдЧ рднреА рдЧрд▓рдд рдереЗ рдФрд░ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореЗрд░реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреА рдЧрд▓рдд рдереАред

рд╕рд╛рджрд░!

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

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

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

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

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

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

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