웹 서비스에 연락하는 응용 프로그램을 만들고 있습니다. 서비스의 가짜 응답을 반환하는 프록시 클래스를 개발하고 싶습니다. 따라서 앱의 다른 부분을 개발/테스트하는 동안 지속적으로 요청에 부딪 힐 필요가 없습니다.Ruby에서 HTTP 응답 생성
내 응용 프로그램이 Net :: HTTP를 통해 생성 된 응답을 기다리고 있습니다.
response = Net::HTTP.get(URI.parse('http://foo.com'))
case response
when Net::HTTPOK
# do something fun
when Net::HTTPUnauthorized
# you get the idea
응답 개체를 제작하고, 모든 올바른 헤더를 제공하고, 본문 문자열 등을 반환하려면 어떻게해야합니까?
response = ProxyClass.response_object
case response
when Net::HTTPOk
# my app doesn't know it's being lied to
감사합니다.
http가 너무 단순하기는하지만 고맙지 만 때때로 사람들은 이상한 라이브러리에 의존합니다. 루비가 최소한의 http 응답을 생성하기 위해 내장되어 있다는 것을 잘 알고 있습니다. – Alan
FYI, Net :: HTTP는 HTTP 응답 코드를 나타내는 문자열을 사용합니다. '200'응답은 ''200' '이되어야합니다. – Lolindrath
HTTParty 라이브러리 https://github.com/jnunemaker/에서이를 잘 볼 수 있습니다. httparty/blob/master/spec/support/stub_response.rb – 23tux