Class: Gapic::Rest::ClientStub
- Inherits:
-
Object
- Object
- Gapic::Rest::ClientStub
- Includes:
- LoggingConcerns, UniverseDomainConcerns
- Defined in:
- lib/gapic/rest/client_stub.rb
Overview
A class for making REST calls through Faraday ClientStub's responsibilities:
- wrap Faraday methods with a bounded explicit interface
- store service endpoint and create full url for the request
- store credentials and add auth information to the request
Constant Summary
Constants included from UniverseDomainConcerns
UniverseDomainConcerns::ENDPOINT_SUBSTITUTION
Instance Attribute Summary
Attributes included from LoggingConcerns
Attributes included from UniverseDomainConcerns
#credentials, #endpoint, #universe_domain
Instance Method Summary collapse
-
#initialize(credentials:, endpoint: nil, endpoint_template: nil, universe_domain: nil, numeric_enums: false, raise_faraday_errors: true, logging_system: nil, service_name: nil, logger: :default) {|Faraday::Connection| ... } ⇒ ClientStub
constructor
Initializes with an endpoint and credentials.
-
#make_delete_request(uri:, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a DELETE request.
-
#make_get_request(uri:, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a GET request.
-
#make_patch_request(uri:, body:, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a PATCH request.
-
#make_post_request(uri:, body: nil, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a POST request.
-
#make_put_request(uri:, body: nil, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a PUT request.
Constructor Details
#initialize(credentials:, endpoint: nil, endpoint_template: nil, universe_domain: nil, numeric_enums: false, raise_faraday_errors: true, logging_system: nil, service_name: nil, logger: :default) {|Faraday::Connection| ... } ⇒ ClientStub
Initializes with an endpoint and credentials
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/gapic/rest/client_stub.rb', line 58 def initialize credentials:, endpoint: nil, endpoint_template: nil, universe_domain: nil, numeric_enums: false, raise_faraday_errors: true, logging_system: nil, service_name: nil, logger: :default setup_universe_domain universe_domain: universe_domain, endpoint: endpoint, endpoint_template: endpoint_template, credentials: credentials endpoint_url = self.endpoint endpoint_url = "https://#{endpoint_url}" unless /^https?:/.match? endpoint_url endpoint_url = endpoint_url.sub %r{/$}, "" setup_logging logger: logger, system_name: logging_system, service: service_name, endpoint: endpoint_url, client_id: object_id @numeric_enums = numeric_enums @raise_faraday_errors = raise_faraday_errors @connection = Faraday.new url: endpoint_url do |conn| conn.headers = { "Content-Type" => "application/json" } conn.request :google_authorization, self.credentials unless self.credentials.is_a? ::Symbol conn.request :retry conn.response :raise_error conn.adapter :net_http end yield @connection if block_given? end |
Instance Method Details
#make_delete_request(uri:, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a DELETE request
117 118 119 |
# File 'lib/gapic/rest/client_stub.rb', line 117 def make_delete_request uri:, params: {}, options: {}, method_name: nil make_http_request :delete, uri: uri, body: nil, params: params, options: , method_name: method_name end |
#make_get_request(uri:, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a GET request
105 106 107 |
# File 'lib/gapic/rest/client_stub.rb', line 105 def make_get_request uri:, params: {}, options: {}, method_name: nil make_http_request :get, uri: uri, body: nil, params: params, options: , method_name: method_name end |
#make_patch_request(uri:, body:, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a PATCH request
130 131 132 |
# File 'lib/gapic/rest/client_stub.rb', line 130 def make_patch_request uri:, body:, params: {}, options: {}, method_name: nil make_http_request :patch, uri: uri, body: body, params: params, options: , method_name: method_name end |
#make_post_request(uri:, body: nil, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a POST request
143 144 145 |
# File 'lib/gapic/rest/client_stub.rb', line 143 def make_post_request uri:, body: nil, params: {}, options: {}, method_name: nil make_http_request :post, uri: uri, body: body, params: params, options: , method_name: method_name end |
#make_put_request(uri:, body: nil, params: {}, options: {}, method_name: nil) ⇒ Faraday::Response
Makes a PUT request
156 157 158 |
# File 'lib/gapic/rest/client_stub.rb', line 156 def make_put_request uri:, body: nil, params: {}, options: {}, method_name: nil make_http_request :put, uri: uri, body: body, params: params, options: , method_name: method_name end |