Я сталкиваюсь с несколькими проблемами, пытаясь получить доступ к API адаптивных платежей Paypal из Ruby.
Основная проблема, с которой я столкнулся вначале, заключалась в том, что Paypal требует, чтобы их заголовки HTTP были во всех заглавных буквах, но Net :: HTTP не сохраняет регистр HTTP-заголовков (он хранит их «в нижнем регистре» и затем выводит их «с заглавной буквы» - - поэтому, если вы установите заголовок «X-PAYPAL-SECURITY-USERID», он будет сохранен как «x-paypal-security-userid» и выведен как «X-Paypal-Security-Userid»).
Я получал ошибки «500000 Внутренний сервер», когда пытался использовать API с этими ошибочными заголовками.
Поэтому я установил Net :: HTTP, чтобы сохранить регистр заголовков. Но теперь я получаю исключения тайм-аута:
Timeout::Error (execution expired):
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:60:in `rbuf_fill'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:104:in `read_all'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2220:in `read_body_0'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2173:in `read_body'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2198:in `body'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2137:in `reading_body'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:1052:in `request'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:543:in `start'
Итак, вернемся к моему первоначальному вопросу: успешно ли кто-нибудь обращается к API адаптивных платежей с использованием Ruby? Если так, в чем твой секрет?