Enhancement: Added functionality to send X-Hub-Signature header with outgoing UserAgent requests to enable recipient to verify the integrity of the request body.
This commit is contained in:
parent
33b682400d
commit
5b4c7ab886
1 changed files with 22 additions and 0 deletions
|
@ -59,6 +59,9 @@ returns
|
||||||
# set params
|
# set params
|
||||||
request = set_params(request, params, options)
|
request = set_params(request, params, options)
|
||||||
|
|
||||||
|
# add signature
|
||||||
|
request = set_signature(request, options)
|
||||||
|
|
||||||
# start http call
|
# start http call
|
||||||
begin
|
begin
|
||||||
total_timeout = options[:total_timeout] || 60
|
total_timeout = options[:total_timeout] || 60
|
||||||
|
@ -118,6 +121,9 @@ returns
|
||||||
# http basic auth (if needed)
|
# http basic auth (if needed)
|
||||||
request = set_basic_auth(request, options)
|
request = set_basic_auth(request, options)
|
||||||
|
|
||||||
|
# add signature
|
||||||
|
request = set_signature(request, options)
|
||||||
|
|
||||||
# start http call
|
# start http call
|
||||||
begin
|
begin
|
||||||
total_timeout = options[:total_timeout] || 60
|
total_timeout = options[:total_timeout] || 60
|
||||||
|
@ -176,6 +182,9 @@ returns
|
||||||
# http basic auth (if needed)
|
# http basic auth (if needed)
|
||||||
request = set_basic_auth(request, options)
|
request = set_basic_auth(request, options)
|
||||||
|
|
||||||
|
# add signature
|
||||||
|
request = set_signature(request, options)
|
||||||
|
|
||||||
# start http call
|
# start http call
|
||||||
begin
|
begin
|
||||||
total_timeout = options[:total_timeout] || 60
|
total_timeout = options[:total_timeout] || 60
|
||||||
|
@ -227,6 +236,9 @@ returns
|
||||||
# http basic auth (if needed)
|
# http basic auth (if needed)
|
||||||
request = set_basic_auth(request, options)
|
request = set_basic_auth(request, options)
|
||||||
|
|
||||||
|
# add signature
|
||||||
|
request = set_signature(request, options)
|
||||||
|
|
||||||
# start http call
|
# start http call
|
||||||
begin
|
begin
|
||||||
total_timeout = options[:total_timeout] || 60
|
total_timeout = options[:total_timeout] || 60
|
||||||
|
@ -359,6 +371,16 @@ returns
|
||||||
request
|
request
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.set_signature(request, options)
|
||||||
|
return request if options[:signature_token].blank?
|
||||||
|
return request if request.body.blank?
|
||||||
|
|
||||||
|
signature = OpenSSL::HMAC.hexdigest('sha1', options[:signature_token], request.body)
|
||||||
|
request['X-Hub-Signature'] = "sha1=#{signature}"
|
||||||
|
|
||||||
|
request
|
||||||
|
end
|
||||||
|
|
||||||
def self.log(url, request, response, options)
|
def self.log(url, request, response, options)
|
||||||
return if !options[:log]
|
return if !options[:log]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue