gapic-generator 0.6.15 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -0
- data/bin/protoc-gen-ruby_gapic +5 -5
- data/lib/gapic/file_formatter.rb +2 -1
- data/lib/gapic/formatting_utils.rb +4 -4
- data/lib/gapic/generator/version.rb +1 -1
- data/lib/gapic/generators/default_generator.rb +8 -5
- data/lib/gapic/generators/default_generator_parameters.rb +8 -4
- data/lib/gapic/grpc_service_config/method_config.rb +2 -1
- data/lib/gapic/grpc_service_config/retry_policy.rb +4 -1
- data/lib/gapic/grpc_service_config/service_config.rb +2 -1
- data/lib/gapic/path_pattern/parser.rb +1 -1
- data/lib/gapic/path_pattern/pattern.rb +2 -1
- data/lib/gapic/path_pattern/segment.rb +10 -3
- data/lib/gapic/presenters.rb +2 -0
- data/lib/gapic/presenters/field_presenter.rb +44 -0
- data/lib/gapic/presenters/gem_presenter.rb +4 -1
- data/lib/gapic/presenters/method_presenter.rb +32 -16
- data/lib/gapic/presenters/method_rest_presenter.rb +186 -0
- data/lib/gapic/presenters/package_presenter.rb +21 -3
- data/lib/gapic/presenters/resource_presenter.rb +2 -1
- data/lib/gapic/presenters/sample_presenter.rb +6 -1
- data/lib/gapic/presenters/service_presenter.rb +48 -10
- data/lib/gapic/presenters/service_rest_presenter.rb +157 -0
- data/lib/gapic/runner.rb +2 -1
- data/lib/gapic/schema/api.rb +48 -19
- data/lib/gapic/schema/parameter_schema.rb +4 -1
- data/lib/gapic/schema/request_param_parser.rb +44 -10
- data/lib/gapic/schema/request_parameter.rb +5 -1
- data/lib/gapic/schema/wrappers.rb +31 -18
- data/lib/gapic/uri_template/parser.rb +4 -6
- data/lib/google/protobuf/any.pb.rb +1 -1
- data/lib/google/protobuf/compiler/plugin.pb.rb +9 -6
- data/lib/google/protobuf/descriptor.pb.rb +2 -2
- data/lib/google/protobuf/empty.pb.rb +1 -1
- data/templates/default/gem/gemspec.erb +2 -2
- data/templates/default/gem/readme.erb +2 -2
- data/templates/default/gem/rubocop.erb +2 -12
- data/templates/default/lib/_package.erb +11 -1
- data/templates/default/lib/_service.erb +31 -1
- data/templates/default/lib/rest/_rest.erb +11 -0
- data/templates/default/service/client/_config.erb +2 -2
- data/templates/default/service/rest.erb +6 -0
- data/templates/default/service/rest/client.erb +6 -0
- data/templates/default/service/rest/client/_client.erb +115 -0
- data/templates/default/service/rest/client/_config.erb +74 -0
- data/templates/default/service/rest/client/_requires.erb +1 -0
- data/templates/default/service/rest/client/method/_def.erb +18 -0
- data/templates/default/service/rest/client/method/def/_options_defaults.erb +14 -0
- data/templates/default/service/rest/client/method/def/_rescue.erb +3 -0
- data/templates/default/service/rest/client/method/def/_response_normal.erb +17 -0
- data/templates/default/service/rest/client/method/docs/_error.erb +2 -0
- data/templates/default/service/rest/client/method/docs/_request.erb +27 -0
- data/templates/default/service/rest/client/method/docs/_result.erb +6 -0
- data/templates/default/service/rest/grpc_transcoding.erb +6 -0
- data/templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb +9 -0
- data/templates/default/service/rest/grpc_transcoding/method/_def.erb +21 -0
- data/templates/default/service/rest/grpc_transcoding/method/def/_query_string_param.erb +8 -0
- data/templates/default/service/test/method/_normal.erb +1 -1
- data/templates/default/service/test/method/_server.erb +1 -1
- metadata +27 -8
@@ -21,13 +21,13 @@ Gem::Specification.new do |gem|
|
|
21
21
|
<%= gem.extra_files.inspect %>
|
22
22
|
gem.require_paths = ["lib"]
|
23
23
|
|
24
|
-
gem.required_ruby_version = ">= 2.
|
24
|
+
gem.required_ruby_version = ">= 2.5"
|
25
25
|
|
26
26
|
<%- gem.dependency_list.each do |name, requirements| -%>
|
27
27
|
gem.add_dependency <%= name.inspect %>, <%= requirements.map { |v| v.inspect }.join ", " %>
|
28
28
|
<%- end -%>
|
29
29
|
|
30
|
-
gem.add_development_dependency "google-style", "~> 1.
|
30
|
+
gem.add_development_dependency "google-style", "~> 1.25.1"
|
31
31
|
gem.add_development_dependency "minitest", "~> 5.14"
|
32
32
|
gem.add_development_dependency "minitest-focus", "~> 1.1"
|
33
33
|
gem.add_development_dependency "minitest-rg", "~> 5.2"
|
@@ -28,11 +28,11 @@ response = client.<%= method.name %> request
|
|
28
28
|
|
29
29
|
## Supported Ruby Versions
|
30
30
|
|
31
|
-
This library is supported on Ruby 2.
|
31
|
+
This library is supported on Ruby 2.5+.
|
32
32
|
|
33
33
|
Google provides official support for Ruby versions that are actively supported
|
34
34
|
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
|
35
|
-
in security maintenance, and not end of life. Currently, this means Ruby 2.
|
35
|
+
in security maintenance, and not end of life. Currently, this means Ruby 2.5
|
36
36
|
and later. Older versions of Ruby _may_ still work, but are unsupported and not
|
37
37
|
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
38
38
|
about the Ruby support schedule.
|
@@ -8,14 +8,14 @@ AllCops:
|
|
8
8
|
- "proto_docs/**/*"
|
9
9
|
- "test/**/*"
|
10
10
|
|
11
|
+
Layout/LineLength:
|
12
|
+
Enabled: false
|
11
13
|
Metrics/AbcSize:
|
12
14
|
Enabled: false
|
13
15
|
Metrics/ClassLength:
|
14
16
|
Enabled: false
|
15
17
|
Metrics/CyclomaticComplexity:
|
16
18
|
Enabled: false
|
17
|
-
Metrics/LineLength:
|
18
|
-
Enabled: false
|
19
19
|
Metrics/MethodLength:
|
20
20
|
Enabled: false
|
21
21
|
Metrics/ModuleLength:
|
@@ -25,13 +25,3 @@ Metrics/PerceivedComplexity:
|
|
25
25
|
Naming/FileName:
|
26
26
|
Exclude:
|
27
27
|
- "lib/<%= gem.name %>.rb"
|
28
|
-
Naming/PredicateName:
|
29
|
-
Enabled: false
|
30
|
-
Style/AsciiComments:
|
31
|
-
Enabled: false
|
32
|
-
Style/CaseEquality:
|
33
|
-
Enabled: false
|
34
|
-
Style/IfUnlessModifier:
|
35
|
-
Enabled: false
|
36
|
-
Style/ModuleFunction:
|
37
|
-
Enabled: false
|
@@ -6,13 +6,23 @@ require "<%= service.service_require %>"
|
|
6
6
|
require "<%= package.gem.version_require %>"
|
7
7
|
<% end %>
|
8
8
|
<%- unless package.empty? -%>
|
9
|
+
<%- if package.services.first.generate_grpc_clients? -%>
|
9
10
|
##
|
10
|
-
# To load this package, including all its services, and instantiate a
|
11
|
+
# To load this package, including all its services, and instantiate a <%= package.grpc_client_designation %>:
|
11
12
|
#
|
12
13
|
# require "<%= package.package_require %>"
|
13
14
|
# client = <%= package.services.first.create_client_call %>
|
14
15
|
#
|
15
16
|
<%- end -%>
|
17
|
+
<%- if package.services.first.generate_rest_clients? -%>
|
18
|
+
##
|
19
|
+
# To load this package, including all its services, and instantiate a REST client:
|
20
|
+
#
|
21
|
+
# require "<%= package.package_require %>"
|
22
|
+
# client = <%= package.services.first.rest.create_client_call %>
|
23
|
+
#
|
24
|
+
<%- end -%>
|
25
|
+
<%- end -%>
|
16
26
|
module <%= package.module_name %>
|
17
27
|
end
|
18
28
|
<% @footer = capture do %>
|
@@ -1,4 +1,21 @@
|
|
1
1
|
<%- assert_locals service -%>
|
2
|
+
|
3
|
+
<%- if service.generate_rest_clients? -%>
|
4
|
+
<% @requires = capture do %>
|
5
|
+
require "gapic/config"
|
6
|
+
require "gapic/config/method"
|
7
|
+
|
8
|
+
require "<%= service.gem.version_require %>"
|
9
|
+
|
10
|
+
<%- unless service.generic_endpoint? -%>
|
11
|
+
require "<%= service.credentials_require %>"
|
12
|
+
<%- end -%>
|
13
|
+
<%- if service.paths? -%>
|
14
|
+
require "<%= service.paths_require %>"
|
15
|
+
<%- end -%>
|
16
|
+
require "<%= service.rest.service_rest_require %>"
|
17
|
+
<% end %>
|
18
|
+
<%- else -%>
|
2
19
|
<% @requires = capture do %>
|
3
20
|
require "gapic/common"
|
4
21
|
require "gapic/config"
|
@@ -22,13 +39,26 @@ require "<%= service.client_require %>"
|
|
22
39
|
<%= indent service.doc_description, "# " %>
|
23
40
|
#
|
24
41
|
<%- end -%>
|
25
|
-
|
42
|
+
<%- end -%>
|
43
|
+
<%- if service.generate_grpc_clients? -%>
|
44
|
+
# To load this service and instantiate a <%= service.grpc_client_designation %>:
|
26
45
|
#
|
27
46
|
# require "<%= service.service_require %>"
|
28
47
|
# client = <%= service.create_client_call %>
|
29
48
|
#
|
49
|
+
<%- end -%>
|
50
|
+
<%- if service.generate_rest_clients? -%>
|
51
|
+
# To load this service and instantiate a REST client:
|
52
|
+
#
|
53
|
+
# require "<%= service.service_require %>"
|
54
|
+
# client = <%= service.rest.create_client_call %>
|
55
|
+
#
|
56
|
+
<%- end -%>
|
30
57
|
module <%= service.module_name %>
|
31
58
|
end
|
59
|
+
|
60
|
+
|
61
|
+
|
32
62
|
<% @footer = capture do %>
|
33
63
|
<%= render partial: "service/helpers", locals: { service: service} -%>
|
34
64
|
<% end %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%- assert_locals service -%>
|
2
|
+
<% @requires = capture do %>
|
3
|
+
require "gapic/rest"
|
4
|
+
require "<%= service.rest.transcoding_helper_require %>"
|
5
|
+
require "<%= service.rest.client_require %>"
|
6
|
+
<% end %>
|
7
|
+
module <%= service.module_name %>
|
8
|
+
# Client for the REST transport
|
9
|
+
module Rest
|
10
|
+
end
|
11
|
+
end
|
@@ -115,7 +115,7 @@ class Configuration
|
|
115
115
|
def rpcs
|
116
116
|
@rpcs ||= begin
|
117
117
|
parent_rpcs = nil
|
118
|
-
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config
|
118
|
+
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
|
119
119
|
Rpcs.new parent_rpcs
|
120
120
|
end
|
121
121
|
end
|
@@ -149,7 +149,7 @@ class Configuration
|
|
149
149
|
# @private
|
150
150
|
def initialize parent_rpcs = nil
|
151
151
|
<%- method_service.methods.each do |method| -%>
|
152
|
-
<%= method.name %>_config = parent_rpcs
|
152
|
+
<%= method.name %>_config = parent_rpcs.<%= method.name %> if parent_rpcs.respond_to? :<%= method.name %>
|
153
153
|
@<%= method.name %> = ::Gapic::Config::Method.new <%= method.name %>_config
|
154
154
|
<%- end -%>
|
155
155
|
|
@@ -0,0 +1,115 @@
|
|
1
|
+
<%- assert_locals service -%>
|
2
|
+
<% @requires = capture do %>
|
3
|
+
<%= render partial: "service/client/requires", locals: { service: service} -%>
|
4
|
+
require "<%= service.proto_service_require %>"
|
5
|
+
<% end %>
|
6
|
+
##
|
7
|
+
# REST client for the <%= service.name %> service.
|
8
|
+
#
|
9
|
+
<%- if service.doc_description -%>
|
10
|
+
<%= indent service.doc_description, "# " %>
|
11
|
+
#
|
12
|
+
<%- end -%>
|
13
|
+
class <%= service.rest.client_name %>
|
14
|
+
include <%= service.rest.transcoding_helper_name %>
|
15
|
+
<%- if service.paths? -%>
|
16
|
+
include <%= service.paths_name %>
|
17
|
+
<%- end -%>
|
18
|
+
|
19
|
+
# @private
|
20
|
+
attr_reader :<%= service.stub_name %>
|
21
|
+
|
22
|
+
##
|
23
|
+
# Configure the <%= service.name %> <%= service.rest.client_name %> class.
|
24
|
+
#
|
25
|
+
# See {<%= service.rest.client_name_full %>::Configuration}
|
26
|
+
# for a description of the configuration fields.
|
27
|
+
#
|
28
|
+
# ## Example
|
29
|
+
#
|
30
|
+
# To modify the configuration for all <%= service.name %> clients:
|
31
|
+
#
|
32
|
+
# <%= service.rest.client_name_full %>.configure do |config|
|
33
|
+
# config.timeout = 10.0
|
34
|
+
# end
|
35
|
+
#
|
36
|
+
# @yield [config] Configure the <%= service.rest.client_name %> client.
|
37
|
+
# @yieldparam config [<%= service.rest.client_name %>::Configuration]
|
38
|
+
#
|
39
|
+
# @return [<%= service.rest.client_name %>::Configuration]
|
40
|
+
#
|
41
|
+
def self.configure
|
42
|
+
<%= indent render(partial: "service/client/self_configure", locals: { service: service }), 4 %>
|
43
|
+
end
|
44
|
+
|
45
|
+
##
|
46
|
+
# Configure the <%= service.name %> <%= service.rest.client_name %> instance.
|
47
|
+
#
|
48
|
+
# The configuration is set to the derived mode, meaning that values can be changed,
|
49
|
+
# but structural changes (adding new fields, etc.) are not allowed. Structural changes
|
50
|
+
# should be made on {<%= service.rest.client_name %>.configure}.
|
51
|
+
#
|
52
|
+
# See {<%= service.rest.client_name_full %>::Configuration}
|
53
|
+
# for a description of the configuration fields.
|
54
|
+
#
|
55
|
+
# @yield [config] Configure the <%= service.rest.client_name %> client.
|
56
|
+
# @yieldparam config [<%= service.rest.client_name %>::Configuration]
|
57
|
+
#
|
58
|
+
# @return [<%= service.rest.client_name %>::Configuration]
|
59
|
+
#
|
60
|
+
def configure
|
61
|
+
yield @config if block_given?
|
62
|
+
@config
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# Create a new <%= service.name %> REST client object.
|
67
|
+
#
|
68
|
+
# ## Examples
|
69
|
+
#
|
70
|
+
# To create a new <%= service.name %> REST client with the default
|
71
|
+
# configuration:
|
72
|
+
#
|
73
|
+
# client = <%= service.rest.client_name_full %>.new
|
74
|
+
#
|
75
|
+
# To create a new <%= service.name %> REST client with a custom
|
76
|
+
# configuration:
|
77
|
+
#
|
78
|
+
# client = <%= service.rest.client_name_full %>.new do |config|
|
79
|
+
# config.timeout = 10.0
|
80
|
+
# end
|
81
|
+
#
|
82
|
+
# @yield [config] Configure the <%= service.name %> client.
|
83
|
+
# @yieldparam config [<%= service.rest.client_name %>::Configuration]
|
84
|
+
#
|
85
|
+
def initialize
|
86
|
+
# These require statements are intentionally placed here to initialize
|
87
|
+
# the REST modules only when it's required.
|
88
|
+
require "gapic/rest"
|
89
|
+
|
90
|
+
# Create the configuration object
|
91
|
+
@config = Configuration.new <%= service.rest.client_name %>.configure
|
92
|
+
|
93
|
+
# Yield the configuration if needed
|
94
|
+
yield @config if block_given?
|
95
|
+
|
96
|
+
# Create credentials
|
97
|
+
credentials = @config.credentials
|
98
|
+
<%- unless service.generic_endpoint? -%>
|
99
|
+
credentials ||= Credentials.default scope: @config.scope
|
100
|
+
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
101
|
+
credentials = Credentials.new credentials, scope: @config.scope
|
102
|
+
end
|
103
|
+
<%- end -%>
|
104
|
+
|
105
|
+
@client_stub = ::Gapic::Rest::ClientStub.new endpoint: @config.endpoint, credentials: credentials
|
106
|
+
end
|
107
|
+
|
108
|
+
# Service calls
|
109
|
+
<%- service.methods.each do |method| -%>
|
110
|
+
|
111
|
+
<%= indent_tail render(partial: "service/rest/client/method/def", locals: { method: method }), 2 %>
|
112
|
+
<%- end %>
|
113
|
+
|
114
|
+
<%= indent_tail render(partial: "service/rest/client/config", locals: { service: service }), 2 %>
|
115
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<%- assert_locals service -%>
|
2
|
+
<%- method_service ||= service -%>
|
3
|
+
##
|
4
|
+
# Configuration class for the <%= service.name %> REST API.
|
5
|
+
#
|
6
|
+
# This class represents the configuration for <%= service.name %> REST,
|
7
|
+
# providing control over credentials, timeouts, retry behavior, logging.
|
8
|
+
#
|
9
|
+
# Configuration can be applied globally to all clients, or to a single client
|
10
|
+
# on construction.
|
11
|
+
#
|
12
|
+
<%- unless method_service.methods.empty? -%>
|
13
|
+
# # Examples
|
14
|
+
#
|
15
|
+
# To modify the global config, setting the timeout for all calls to 10 seconds:
|
16
|
+
#
|
17
|
+
# <%= service.client_name_full %>.configure do |config|
|
18
|
+
# config.timeout = 10.0
|
19
|
+
# end
|
20
|
+
#
|
21
|
+
# To apply the above configuration only to a new client:
|
22
|
+
#
|
23
|
+
# client = <%= service.client_name_full %>.new do |config|
|
24
|
+
# config.timeout = 10.0
|
25
|
+
# end
|
26
|
+
#
|
27
|
+
<%- end -%>
|
28
|
+
# @!attribute [rw] endpoint
|
29
|
+
# The hostname or hostname:port of the service endpoint.
|
30
|
+
# Defaults to `<%= service.client_endpoint.inspect %>`.
|
31
|
+
# @return [::String]
|
32
|
+
# @!attribute [rw] credentials
|
33
|
+
# Credentials to send with calls. You may provide any of the following types:
|
34
|
+
# * (`String`) The path to a service account key file in JSON format
|
35
|
+
# * (`Hash`) A service account key as a Hash
|
36
|
+
# * (`Google::Auth::Credentials`) A googleauth credentials object
|
37
|
+
# (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
|
38
|
+
# * (`Signet::OAuth2::Client`) A signet oauth2 client object
|
39
|
+
# (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
|
40
|
+
# * (`nil`) indicating no credentials
|
41
|
+
# @return [::Object]
|
42
|
+
# @!attribute [rw] scope
|
43
|
+
# The OAuth scopes
|
44
|
+
# @return [::Array<::String>]
|
45
|
+
# @!attribute [rw] lib_name
|
46
|
+
# The library name as recorded in instrumentation and logging
|
47
|
+
# @return [::String]
|
48
|
+
# @!attribute [rw] lib_version
|
49
|
+
# The library version as recorded in instrumentation and logging
|
50
|
+
# @return [::String]
|
51
|
+
# @!attribute [rw] timeout
|
52
|
+
# The call timeout in seconds.
|
53
|
+
# @return [::Numeric]
|
54
|
+
#
|
55
|
+
class Configuration
|
56
|
+
extend ::Gapic::Config
|
57
|
+
|
58
|
+
config_attr :endpoint, <%= service.client_endpoint.inspect %>, ::String
|
59
|
+
config_attr :credentials, nil do |value|
|
60
|
+
allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
|
61
|
+
allowed.any? { |klass| klass === value }
|
62
|
+
end
|
63
|
+
config_attr :scope, nil, ::String, ::Array, nil
|
64
|
+
config_attr :lib_name, nil, ::String, nil
|
65
|
+
config_attr :lib_version, nil, ::String, nil
|
66
|
+
config_attr :timeout, nil, ::Numeric, nil
|
67
|
+
|
68
|
+
# @private
|
69
|
+
def initialize parent_config = nil
|
70
|
+
@parent_config = parent_config unless parent_config.nil?
|
71
|
+
|
72
|
+
yield self if block_given?
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<%- assert_locals service -%>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
##
|
3
|
+
<%- if method.doc_description -%>
|
4
|
+
<%= indent method.doc_description, "# " %>
|
5
|
+
#
|
6
|
+
<%- end -%>
|
7
|
+
<%= render partial: "service/rest/client/method/docs/request", locals: { method: method } -%>
|
8
|
+
<%= render partial: "service/rest/client/method/docs/result", locals: { method: method } -%>
|
9
|
+
#
|
10
|
+
<%= render partial: "service/rest/client/method/docs/error", locals: { method: method } -%>
|
11
|
+
def <%= method.name %> request, options = nil
|
12
|
+
<%= indent render(partial: "service/client/method/def/request", locals: { method: method }), 2 %>
|
13
|
+
|
14
|
+
<%= indent render(partial: "service/rest/client/method/def/options_defaults", locals: { method: method }), 2 %>
|
15
|
+
|
16
|
+
<%= indent render(partial: "service/rest/client/method/def/response_normal", locals: { method: method }), 2 %>
|
17
|
+
<%= render partial: "service/rest/client/method/def/rescue", locals: { method: method } -%>
|
18
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
# Converts hash and nil to an options object
|
3
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
4
|
+
|
5
|
+
# Customize the options with defaults
|
6
|
+
call_metadata = {}
|
7
|
+
|
8
|
+
# Set x-goog-api-client header
|
9
|
+
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
10
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
11
|
+
gapic_version: ::<%= method.service.gem.version_name_full %>
|
12
|
+
|
13
|
+
options.apply_defaults timeout: @config.timeout,
|
14
|
+
metadata: call_metadata
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
|
3
|
+
uri, <%= method.rest.body_var_name %>, <%= method.rest.query_string_params_var_name %> = <%= method.rest.transcoding_helper_name %> request
|
4
|
+
response = @client_stub.make_<%= method.rest.verb %>_request(
|
5
|
+
uri: uri,
|
6
|
+
<%- if method.rest.body? -%>
|
7
|
+
body: body,
|
8
|
+
<%- end -%>
|
9
|
+
<%- if method.rest.query_string_params? -%>
|
10
|
+
params: query_string_params,
|
11
|
+
<%- end -%>
|
12
|
+
options: options
|
13
|
+
)
|
14
|
+
result = <%= method.return_type %>.decode_json response.body, ignore_unknown_fields: true
|
15
|
+
|
16
|
+
yield result, response if block_given?
|
17
|
+
result
|