class AuthingRuby::Common::NaiveHttpClient

JS SDK 里 NaiveHttpClientHttpClient 的区别: HttpClient 会处理 onError 回调函数,也会从返回的 data 中处理 code, message NaiveHttpClient 只返回 data,也不带请求头 Authorization

Public Class Methods

new(options = {}, tokenProvider = nil) click to toggle source
Calls superclass method AuthingRuby::Common::HttpClient::new
# File lib/authing_ruby/common/HttpClient.rb, line 154
def initialize(options = {}, tokenProvider = nil)
  super(options, tokenProvider)
end

Public Instance Methods

request(config = {}) click to toggle source
# File lib/authing_ruby/common/HttpClient.rb, line 158
def request(config = {})
  headers = {
    'x-authing-sdk-version': "ruby:#{AuthingRuby::VERSION}",
    'x-authing-userpool-id': @options.fetch(:userPoolId, ''),
    'x-authing-request-from': @options.fetch(:requestFrom, 'sdk'),
    'x-authing-app-id': @options.fetch(:appId, ''),
    'x-authing-lang': @options.fetch(:lang, ''),
  };
  headers_merge = headers.merge(config.fetch(:headers, {}))
  # 先把 header 合并一下,把用户传进来的和这里默认的合并一下

  config = config.merge({headers: headers_merge})
  # 再把 config 处理一下,把最终 header 合并进去

  response = faraday_conn(config) # 返回 Faraday::Response
  return response.body
end