Class: FaspClient::HttpRequestService
- Inherits:
-
Object
- Object
- FaspClient::HttpRequestService
- Defined in:
- app/services/fasp_client/http_request_service.rb
Instance Method Summary collapse
- #execute!(request) ⇒ Object
-
#initialize(provider:) ⇒ HttpRequestService
constructor
A new instance of HttpRequestService.
- #verified?(request_or_response) ⇒ Boolean
Constructor Details
#initialize(provider:) ⇒ HttpRequestService
Returns a new instance of HttpRequestService.
3 4 5 |
# File 'app/services/fasp_client/http_request_service.rb', line 3 def initialize(provider:) @provider = provider end |
Instance Method Details
#execute!(request) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/services/fasp_client/http_request_service.rb', line 7 def execute!(request) request["date"] = Time.now.utc.to_s request["Content-Digest"] = "sha-256=:"+Digest::SHA256.base64digest(request.body || "")+":" Linzer.sign!( request, key: @provider.local_linzer_key, components: %w[@method @target-uri content-digest], label: "sig1", params: { created: Time.now.utc.to_i } ) response = nil Net::HTTP.start request.uri.hostname, request.uri.port, use_ssl: (request.uri.scheme == "https") do |http| response = http.request request end response end |
#verified?(request_or_response) ⇒ Boolean
26 27 28 29 30 |
# File 'app/services/fasp_client/http_request_service.rb', line 26 def verified?(request_or_response) Linzer.verify!(request_or_response, key: @provider.fasp_linzer_key) rescue Linzer::Error false end |