Module: Bundler::Security::Voting::Request
- Defined in:
- lib/bundler/security/voting/request.rb
Overview
Module responsible for doing request to Coditsu differ
Class Method Summary collapse
-
.assign_auth(request, config) ⇒ Object
Assigns basic authorization if provided in the config.
-
.assign_payload(request, payload) ⇒ Object
Assigns payload as json.
-
.build_http ⇒ Object
Builds http connection object.
-
.build_request(uri, config, payload) ⇒ Net::HTTP::Post
Build http post request and assigns headers and payload.
-
.call(config, payload) ⇒ Net::HTTPResponse
Execute request to the differ.
-
.differ_url ⇒ String
Provides differ endpoint url.
Class Method Details
.assign_auth(request, config) ⇒ Object
Assigns basic authorization if provided in the config
62 63 64 65 66 67 68 |
# File 'lib/bundler/security/voting/request.rb', line 62 def assign_auth(request, config) return unless config return unless config.api_key return unless config.api_secret request.basic_auth(config.api_key, config.api_secret) end |
.assign_payload(request, payload) ⇒ Object
Assigns payload as json
74 75 76 |
# File 'lib/bundler/security/voting/request.rb', line 74 def assign_payload(request, payload) request.body = JSON.dump(payload) end |
.build_http ⇒ Object
Builds http connection object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/bundler/security/voting/request.rb', line 33 def build_http uri = URI(differ_url) Net::HTTP.start( uri.host, uri.port, use_ssl: uri.scheme == 'https', verify_mode: OpenSSL::SSL::VERIFY_NONE ) { |http| yield(http, uri) } end |
.build_request(uri, config, payload) ⇒ Net::HTTP::Post
Build http post request and assigns headers and payload
51 52 53 54 55 56 |
# File 'lib/bundler/security/voting/request.rb', line 51 def build_request(uri, config, payload) Net::HTTP::Post .new(uri.request_uri, HEADERS) .tap { |request| assign_auth(request, config) } .tap { |request| assign_payload(request, payload) } end |
.call(config, payload) ⇒ Net::HTTPResponse
Execute request to the differ
26 27 28 29 30 |
# File 'lib/bundler/security/voting/request.rb', line 26 def call(config, payload) build_http do |http, uri| http.request(build_request(uri, config, payload)) end end |
.differ_url ⇒ String
Provides differ endpoint url
81 82 83 |
# File 'lib/bundler/security/voting/request.rb', line 81 def differ_url ENV['CODITSU_DIFFER_URL'] || ENDPOINT_URL end |