module Angus::Remote::ProxyClientUtils
Constants
- ALLOWED_RESPONSE_HEADERS
Public Class Methods
build_request(method, path, query, headers = {}, body = nil)
click to toggle source
# File lib/angus/remote/proxy_client_utils.rb, line 14 def self.build_request(method, path, query, headers = {}, body = nil) uri = URI(path) uri.query = query full_uri = uri.to_s request = case method.to_s.downcase when 'get' Net::HTTP::Get.new(full_uri) when 'post' Net::HTTP::Post.new(full_uri) when 'put' Net::HTTP::Put.new(full_uri) when 'delete' Net::HTTP::Delete.new(full_uri) else raise MethodArgumentError.new(method) end headers.each do |k, v| request[k] = v end request.body = body request end
filter_response_headers(headers)
click to toggle source
# File lib/angus/remote/proxy_client_utils.rb, line 42 def self.filter_response_headers(headers) headers.select { |h, v| ALLOWED_RESPONSE_HEADERS.include?(h) } end
normalize_headers(headers)
click to toggle source
Converts any header value that is an array to its first value.
@param [Hash] header
@return [Hash]
@example
normalize_headers({'content-type'=>['application/json;charset=utf-8']}) -> {'content-type'=>'application/json;charset=utf-8'}
# File lib/angus/remote/proxy_client_utils.rb, line 56 def self.normalize_headers(headers) normalized = headers.map do |h, v| if v.is_a?(Array) [h, v.first] else [h, v] end end Hash[normalized] end