Sha256: e52937baf5ac5aac39821355b7693044cd729fc8fe71a45632e18a39f17e96bb
Contents?: true
Size: 1006 Bytes
Versions: 1
Compression:
Stored size: 1006 Bytes
Contents
require 'uri' require 'net/http' require_relative 'response' module TochkaCyclopsApi module Request def self.send(body) uri = URI('https://pre.tochka.com/api/v1/cyclops/v2/jsonrpc') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri, { 'sign-data' => signature(body), 'sign-thumbprint' => TochkaCyclopsApi.configuration.sign_thumbprint, 'sign-system' => TochkaCyclopsApi.configuration.sign_system, 'Content-Type' => 'application/pdf' }) request.body = body TochkaCyclopsApi::Response.new(http.request(request)) end private def self.signature(body) digest = OpenSSL::Digest.new('sha256') private_key = OpenSSL::PKey::RSA.new(TochkaCyclopsApi.configuration.private_key) signature_key = private_key.sign(digest, body) base64_signature = Base64.strict_encode64(signature_key) base64_signature.gsub("\n", '') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tochka_cyclops_api-0.1.0 | lib/tochka_cyclops_api/request.rb |