Class: XiWechatCorp::Callback::Config

Inherits:
Object
  • Object
show all
Includes:
Rack::Utils
Defined in:
lib/xi_wechat_corp/callback/config.rb

Defined Under Namespace

Classes: Credentials

Instance Method Summary collapse

Instance Method Details

#build_request(rack_request) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/xi_wechat_corp/callback/config.rb', line 32

def build_request(rack_request)
  return if @block.nil?
  credentials = Credentials.new
  credentials.instance_exec(rack_request, &@block)
  if credentials.configured?
    cryptor = AesCrypt.new(credentials.aes_key, credentials.corp_id)
    signer = SHA1Signer.new(credentials.token)
    query_params = parse_query(rack_request.query_string)
    Request.new(cryptor, signer, query_params, rack_request.body.read)
  end
end

#configure(&block) ⇒ Object



27
28
29
30
# File 'lib/xi_wechat_corp/callback/config.rb', line 27

def configure(&block)
  @block = block
  self
end