Class: OmniauthOidc::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/omniauth/oidc/http_client.rb

Overview

Simple HTTP client using Net::HTTP

Defined Under Namespace

Classes: HttpError

Constant Summary collapse

MAX_REDIRECTS =
5

Class Method Summary collapse

Class Method Details

.get(url, headers: {}) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/omniauth/oidc/http_client.rb', line 14

def self.get(url, headers: {})
  uri = URI.parse(url)
  request = Net::HTTP::Get.new(uri)
  headers.each { |key, value| request[key] = value }

  response = execute_request(uri, request)
  handle_response(response, url, headers: headers, redirects_remaining: MAX_REDIRECTS)
end

.post(url, body: nil, headers: {}) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/omniauth/oidc/http_client.rb', line 23

def self.post(url, body: nil, headers: {})
  uri = URI.parse(url)
  request = Net::HTTP::Post.new(uri)
  request["Content-Type"] = "application/x-www-form-urlencoded" unless headers["Content-Type"]
  headers.each { |key, value| request[key] = value }
  request.body = body if body

  response = execute_request(uri, request)
  handle_response(response, url)
end