50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
class Gitea::ChainService < ApplicationService
 | 
						|
  attr_reader :url, :params
 | 
						|
 | 
						|
  def initialize(options={})
 | 
						|
    @url      = options[:url]
 | 
						|
    @params   = options[:params]
 | 
						|
  end
 | 
						|
 | 
						|
  def post(url, params={})
 | 
						|
    Rails.logger.info("######_____api____request_url_______###############{request_url}")
 | 
						|
    Rails.logger.info("######_____api____request_params_______###############{params}")
 | 
						|
 | 
						|
    conn.post do |req|
 | 
						|
      req.url "#{request_url}"
 | 
						|
      req.body = params[:data].to_json
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def get(url, params={})
 | 
						|
    conn.get do |req|
 | 
						|
      req.url "#{request_url}"
 | 
						|
      params.each_pair do |key, value|
 | 
						|
        req.params["#{key}"] = value
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
  def conn(auth={})
 | 
						|
    @client ||= begin
 | 
						|
      Faraday.new(url: domain) do |req|
 | 
						|
        req.request :url_encoded
 | 
						|
        req.headers['Content-Type'] = 'application/json'
 | 
						|
        req.response :logger # 显示日志
 | 
						|
        req.adapter Faraday.default_adapter
 | 
						|
      end
 | 
						|
    end
 | 
						|
    @client
 | 
						|
  end
 | 
						|
 | 
						|
  def domain
 | 
						|
    Rails.application.config_for(:configuration)['chain_base']
 | 
						|
  end
 | 
						|
 | 
						|
  def request_url
 | 
						|
    [domain, url].join('').freeze
 | 
						|
  end
 | 
						|
 | 
						|
end
 |