module Qiita::Team::Services::Hooks::Concerns::HttpClient
Constants
- DEFAULT_ADAPTER
- DEFAULT_HEADERS
- TIMEOUT
Private Instance Methods
adapter()
click to toggle source
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 65 def adapter DEFAULT_ADAPTER end
faraday_parameters()
click to toggle source
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 25 def faraday_parameters { headers: DEFAULT_HEADERS, request: { open_timeout: TIMEOUT, timeout: TIMEOUT, }, } end
http_client()
click to toggle source
@return [Faraday::Connection]
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 18 def http_client @http_client ||= Faraday.new(faraday_parameters) do |faraday| faraday.request request_format faraday.adapter adapter end end
http_post(request_body, headers = {})
click to toggle source
@param request_body [Hash, Array] request payload. @return [Faraday::Response] @raise [Qiita::Team::Services::DeliveryError]
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 43 def http_post(request_body, headers = {}) resp = http_client.post do |req| req.url url req.body = request_body request_headers.merge(headers).each_pair do |key, value| req.headers[key] = value end end fail DeliveryError unless resp.success? resp end
request_format()
click to toggle source
@return [Symbol] the request format type, ‘:json` or `:url_encoded`
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 56 def request_format :json end
request_headers()
click to toggle source
@return [Hash{String => String}]
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 61 def request_headers {} end
url()
click to toggle source
@return [String]
# File lib/qiita/team/services/hooks/concerns/http_client.rb, line 36 def url fail NotImplementedError end