class Flash::Integration::Connection
Attributes
base_url[R]
Public Class Methods
new(base_url:, request_class: Faraday)
click to toggle source
# File lib/flash/integration/connection.rb, line 8 def initialize(base_url:, request_class: Faraday) @request_class = request_class @base_url = base_url end
Public Instance Methods
default_headers()
click to toggle source
# File lib/flash/integration/connection.rb, line 63 def default_headers {} end
delete(url: "", params: {}, headers: {}, body: {})
click to toggle source
# File lib/flash/integration/connection.rb, line 53 def delete(url: "", params: {}, headers: {}, body: {}) send_request( method: :delete, url: url, params: params, headers: headers, body: body ) end
get(url: "", params: {}, headers: {})
click to toggle source
# File lib/flash/integration/connection.rb, line 13 def get(url: "", params: {}, headers: {}) send_request( method: :get, url: url, params: params, headers: headers ) end
patch(url: "", params: {}, headers: {}, body: {})
click to toggle source
# File lib/flash/integration/connection.rb, line 43 def patch(url: "", params: {}, headers: {}, body: {}) send_request( method: :patch, url: url, params: params, headers: headers, body: body ) end
post(url: "", params: {}, headers: {}, body: {}, multipart: false)
click to toggle source
# File lib/flash/integration/connection.rb, line 22 def post(url: "", params: {}, headers: {}, body: {}, multipart: false) send_request( method: :post, url: url, params: params, headers: headers, body: body, multipart: multipart ) end
put(url: "", params: {}, headers: {}, body: {})
click to toggle source
# File lib/flash/integration/connection.rb, line 33 def put(url: "", params: {}, headers: {}, body: {}) send_request( method: :put, url: url, params: params, headers: headers, body: body ) end
Private Instance Methods
build_request(method, url, params, headers, body)
click to toggle source
# File lib/flash/integration/connection.rb, line 96 def build_request(method, url, params, headers, body) Flash::Integration::Request.new( method: method, url: url, params: params, headers: headers, body: body, time: Time.now.utc ) end
build_response(request, status, headers, body)
click to toggle source
# File lib/flash/integration/connection.rb, line 107 def build_response(request, status, headers, body) Flash::Integration::Response.new( request: request, status: status, headers: headers, body: body, time: Time.now.utc ) end
multipart_connection()
click to toggle source
# File lib/flash/integration/connection.rb, line 88 def multipart_connection @request_class.new(url: @base_url) do |conn| conn.use Flash::Integration::MultipartFlat conn.request :url_encoded conn.adapter @request_class.default_adapter end end
send_request(method:, url:, params:, headers:, body: nil, multipart: false)
click to toggle source
# File lib/flash/integration/connection.rb, line 68 def send_request(method:, url:, params:, headers:, body: nil, multipart: false) connection = multipart ? multipart_connection : @request_class.new(url: @base_url) merged_headers = default_headers.merge(headers) request = build_request( method, connection.build_url(url).to_s, params, merged_headers, body ) result = connection.send(method) do |request| request.url(url) request.params = params request.headers = merged_headers request.body = body if body end build_response(request, result.status, result.headers, result.body) end