Ruby 클래스가 HTTParty를 include하면 프록시를 그 클래스에 두고 그 클래스를 통해 요청하세요:

class Reports
  include HTTParty
  http_proxy 'proxy.example', 8080
end

response = Reports.get('https://reports.example/monthly')

예제는 HTTParty가 로드되어 있다고 가정합니다. proxy 메서드는 호스트 이름과 정수 포트를 받으며, 사용자 이름과 비밀번호 인수는 선택 사항입니다. 프록시 계정 없이 허용된 public-API 테스트를 하려면 호스트와 포트에 HTTP 프록시 목록의 HTTP 후보를 사용하세요. 대상 URL은 get에 두세요.

Reports의 인스턴스 메서드 안에서 방금 설정한 클래스 메서드를 호출하려는 의도라면 self.class.get(...)을 사용하세요. 대신 최상위 HTTParty 모듈을 호출하면 방금 기본값을 설정한 래퍼를 우회할 수 있습니다.

여러 API 래퍼가 하나의 애플리케이션을 공유할 때도 같은 구분이 중요합니다. 한 클래스를 고치려고 HTTParty::Basement를 전역으로 바꾸지 말고 각 래퍼에 의도한 프록시 정책을 주세요.

HTTParty는 http_proxyaddr, http_proxyport 같은 요청별 프록시 옵션도 제공합니다. 경로가 정말 한 요청의 일부일 때 그것을 사용하세요. 모든 Reports 작업이 같은 경로를 따라야 한다면 클래스 기본값이 더 읽기 쉽습니다.

관련 글