gapic-generator 0.8.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -0
- data/lib/gapic/generator/version.rb +1 -1
- data/lib/gapic/generators/default_generator.rb +1 -1
- data/lib/gapic/generators/default_generator_parameters.rb +3 -1
- data/lib/gapic/presenters/gem_presenter.rb +25 -6
- data/lib/gapic/presenters/method/rest_pagination_info.rb +246 -0
- data/lib/gapic/presenters/method_presenter.rb +17 -2
- data/lib/gapic/presenters/method_rest_presenter.rb +75 -2
- data/lib/gapic/presenters/resource_presenter.rb +8 -0
- data/lib/gapic/presenters/service_config_presenter.rb +48 -0
- data/lib/gapic/presenters/service_presenter.rb +69 -0
- data/lib/gapic/presenters/service_rest_presenter.rb +42 -16
- data/lib/gapic/presenters/snippet_presenter.rb +1 -1
- data/lib/gapic/presenters.rb +1 -0
- data/lib/gapic/schema/api.rb +17 -7
- data/lib/gapic/schema/wrappers.rb +26 -0
- data/templates/default/gem/readme.erb +3 -3
- data/templates/default/lib/rest/_rest.erb +0 -2
- data/templates/default/service/client/_client.erb +18 -20
- data/templates/default/service/client/_config.erb +13 -14
- data/templates/default/service/client/_credentials.erb +2 -0
- data/templates/default/service/client/_operations.erb +1 -1
- data/templates/default/service/client/_paths.erb +1 -1
- data/templates/default/service/client/_self_configure_defaults.erb +2 -2
- data/templates/default/service/client/method/_def.erb +2 -0
- data/templates/default/service/client/method/def/_options_defaults.erb +3 -1
- data/templates/default/service/client/method/docs/_deprecated.erb +5 -0
- data/templates/default/service/client/method/docs/_snippets.erb +6 -0
- data/templates/default/service/rest/client/_client.erb +15 -24
- data/templates/default/service/rest/client/_config.erb +48 -0
- data/templates/default/service/rest/client/method/_def.erb +1 -1
- data/templates/default/service/rest/client/method/def/_options_defaults.erb +5 -2
- data/templates/default/service/rest/client/method/def/_response.erb +8 -0
- data/templates/default/service/rest/client/method/def/_response_lro.erb +7 -0
- data/templates/default/service/rest/client/method/def/_response_normal.erb +4 -15
- data/templates/default/service/rest/client/method/def/_response_paged.erb +7 -0
- data/templates/default/service/rest/client/method/docs/_result.erb +3 -3
- data/templates/default/service/rest/service_stub/_service_stub.erb +25 -0
- data/templates/default/service/rest/{grpc_transcoding/method → service_stub/grpc_transcoding_method}/_def.erb +4 -1
- data/templates/default/service/rest/{grpc_transcoding/method → service_stub/grpc_transcoding_method}/def/_query_string_param.erb +0 -0
- data/templates/default/service/rest/service_stub/method/_def.erb +20 -0
- data/templates/default/service/rest/service_stub/method/def/_request.erb +2 -0
- data/templates/default/service/rest/service_stub/method/def/_response.erb +17 -0
- data/templates/default/service/rest/service_stub.erb +6 -0
- data/templates/default/service/rest/test/client.erb +1 -1
- data/templates/default/service/test/client_paths.erb +1 -1
- metadata +17 -8
- data/templates/default/service/client/_self_configure_retry_policy.erb +0 -15
- data/templates/default/service/rest/client/_requires.erb +0 -1
- data/templates/default/service/rest/grpc_transcoding/_grpc_transcoding.erb +0 -9
@@ -14,22 +14,21 @@
|
|
14
14
|
# on construction.
|
15
15
|
#
|
16
16
|
<%- unless method_service.methods.empty? -%>
|
17
|
-
#
|
17
|
+
# @example
|
18
18
|
#
|
19
|
-
#
|
20
|
-
#
|
19
|
+
# # Modify the global config, setting the timeout for
|
20
|
+
# # <%= method_service.methods.first.name %> to 20 seconds,
|
21
|
+
# # and all remaining timeouts to 10 seconds.
|
22
|
+
# <%= service.client_name_full %>.configure do |config|
|
23
|
+
# config.timeout = 10.0
|
24
|
+
# config.rpcs.<%= method_service.methods.first.name %>.timeout = 20.0
|
25
|
+
# end
|
21
26
|
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
# To apply the above configuration only to a new client:
|
28
|
-
#
|
29
|
-
# client = <%= service.client_name_full %>.new do |config|
|
30
|
-
# config.timeout = 10.0
|
31
|
-
# config.rpcs.<%= method_service.methods.first.name %>.timeout = 20.0
|
32
|
-
# end
|
27
|
+
# # Apply the above configuration only to a new client.
|
28
|
+
# client = <%= service.client_name_full %>.new do |config|
|
29
|
+
# config.timeout = 10.0
|
30
|
+
# config.rpcs.<%= method_service.methods.first.name %>.timeout = 20.0
|
31
|
+
# end
|
33
32
|
#
|
34
33
|
<%- end -%>
|
35
34
|
# @!attribute [rw] endpoint
|
@@ -12,10 +12,12 @@ class <%= service.credentials_name %> < ::Google::Auth::Credentials
|
|
12
12
|
<%- end -%>
|
13
13
|
]
|
14
14
|
<%- end -%>
|
15
|
+
<%- if service.gem.env_prefix -%>
|
15
16
|
self.env_vars = [
|
16
17
|
"<%= service.gem.env_prefix %>_CREDENTIALS",
|
17
18
|
"<%= service.gem.env_prefix %>_KEYFILE",
|
18
19
|
"<%= service.gem.env_prefix %>_CREDENTIALS_JSON",
|
19
20
|
"<%= service.gem.env_prefix %>_KEYFILE_JSON"
|
20
21
|
]
|
22
|
+
<%- end -%>
|
21
23
|
end
|
@@ -61,7 +61,7 @@ class <%= service.operations_name %>
|
|
61
61
|
# Create credentials
|
62
62
|
credentials = @config.credentials
|
63
63
|
credentials ||= Credentials.default scope: @config.scope
|
64
|
-
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
64
|
+
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
65
65
|
credentials = Credentials.new credentials, scope: @config.scope
|
66
66
|
end
|
67
67
|
@quota_project_id = @config.quota_project
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<%- assert_locals service -%>
|
2
2
|
# Path helper methods for the <%= service.name %> API.
|
3
3
|
module Paths
|
4
|
-
<%- service.
|
4
|
+
<%- service.deduped_references.each do |resource| -%>
|
5
5
|
<%= indent render(partial: "service/client/resource", locals: { resource: resource }), 2 %>
|
6
6
|
|
7
7
|
<%- end %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
default_config.timeout = <%= format_number service.grpc_service_config.timeout_seconds %>
|
7
7
|
<%- end -%>
|
8
8
|
<%- if service.grpc_service_config.retry_policy -%>
|
9
|
-
default_config.retry_policy = <%= indent_tail
|
9
|
+
default_config.retry_policy = <%= indent_tail service.service_config_presenter.retry_policy_fields, 2 %>
|
10
10
|
<%- end -%>
|
11
11
|
<%- end -%>
|
12
12
|
<%- method_service.methods.each do |method| -%>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
default_config.rpcs.<%= method.name %>.timeout = <%= format_number method.grpc_service_config.timeout_seconds %>
|
17
17
|
<%- end -%>
|
18
18
|
<%- if method.grpc_service_config.retry_policy -%>
|
19
|
-
default_config.rpcs.<%= method.name %>.retry_policy =<%= indent_tail
|
19
|
+
default_config.rpcs.<%= method.name %>.retry_policy =<%= indent_tail method.service_config_presenter.retry_policy_fields, 2 %>
|
20
20
|
<%- end -%>
|
21
21
|
<%- end -%>
|
22
22
|
<%- end -%>
|
@@ -4,12 +4,14 @@
|
|
4
4
|
<%= indent method.doc_description, "# " %>
|
5
5
|
#
|
6
6
|
<%- end -%>
|
7
|
+
<%= render partial: "service/client/method/docs/deprecated", locals: { method: method } -%>
|
7
8
|
<%= render partial: "service/client/method/docs/request", locals: { method: method } -%>
|
8
9
|
#
|
9
10
|
<%= render partial: "service/client/method/docs/response", locals: { method: method } -%>
|
10
11
|
#
|
11
12
|
<%= render partial: "service/client/method/docs/error", locals: { method: method } -%>
|
12
13
|
#
|
14
|
+
<%= render partial: "service/client/method/docs/snippets", locals: { method: method } -%>
|
13
15
|
<%= render partial: "service/client/method/docs/samples", locals: { method: method } -%>
|
14
16
|
def <%= method.name %> request, options = nil
|
15
17
|
<%= indent render(partial: "service/client/method/def/request", locals: { method: method }), 2 %>
|
@@ -25,5 +25,7 @@ metadata[:"x-goog-request-params"] ||= request_params_header
|
|
25
25
|
options.apply_defaults timeout: @config.rpcs.<%= method.name %>.timeout,
|
26
26
|
metadata: metadata,
|
27
27
|
retry_policy: @config.rpcs.<%= method.name %>.retry_policy
|
28
|
-
|
28
|
+
|
29
|
+
options.apply_defaults timeout: @config.timeout,
|
30
|
+
metadata: @config.metadata,
|
29
31
|
retry_policy: @config.retry_policy
|
@@ -2,6 +2,7 @@
|
|
2
2
|
<% @requires = capture do %>
|
3
3
|
<%= render partial: "service/client/requires", locals: { service: service} -%>
|
4
4
|
require "<%= service.proto_service_require %>"
|
5
|
+
require "<%= service.rest.service_stub_require %>"
|
5
6
|
<% end %>
|
6
7
|
##
|
7
8
|
# REST client for the <%= service.name %> service.
|
@@ -11,7 +12,6 @@
|
|
11
12
|
#
|
12
13
|
<%- end -%>
|
13
14
|
class <%= service.rest.client_name %>
|
14
|
-
include <%= service.rest.transcoding_helper_name %>
|
15
15
|
<%- if service.paths? -%>
|
16
16
|
include <%= service.paths_name %>
|
17
17
|
<%- end -%>
|
@@ -25,13 +25,12 @@ class <%= service.rest.client_name %>
|
|
25
25
|
# See {<%= service.rest.client_name_full %>::Configuration}
|
26
26
|
# for a description of the configuration fields.
|
27
27
|
#
|
28
|
-
#
|
28
|
+
# @example
|
29
29
|
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
34
|
-
# end
|
30
|
+
# # Modify the configuration for all <%= service.name %> clients
|
31
|
+
# <%= service.rest.client_name_full %>.configure do |config|
|
32
|
+
# config.timeout = 10.0
|
33
|
+
# end
|
35
34
|
#
|
36
35
|
# @yield [config] Configure the <%= service.rest.client_name %> client.
|
37
36
|
# @yieldparam config [<%= service.rest.client_name %>::Configuration]
|
@@ -65,28 +64,20 @@ class <%= service.rest.client_name %>
|
|
65
64
|
##
|
66
65
|
# Create a new <%= service.name %> REST client object.
|
67
66
|
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
# To create a new <%= service.name %> REST client with the default
|
71
|
-
# configuration:
|
67
|
+
# @example
|
72
68
|
#
|
73
|
-
#
|
69
|
+
# # Create a client using the default configuration
|
70
|
+
# client = <%= service.rest.client_name_full %>.new
|
74
71
|
#
|
75
|
-
#
|
76
|
-
#
|
77
|
-
#
|
78
|
-
#
|
79
|
-
# config.timeout = 10.0
|
80
|
-
# end
|
72
|
+
# # Create a client using a custom configuration
|
73
|
+
# client = <%= service.rest.client_name_full %>.new do |config|
|
74
|
+
# config.timeout = 10.0
|
75
|
+
# end
|
81
76
|
#
|
82
77
|
# @yield [config] Configure the <%= service.name %> client.
|
83
78
|
# @yieldparam config [<%= service.rest.client_name %>::Configuration]
|
84
79
|
#
|
85
80
|
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
81
|
# Create the configuration object
|
91
82
|
@config = Configuration.new <%= service.rest.client_name %>.configure
|
92
83
|
|
@@ -97,12 +88,12 @@ class <%= service.rest.client_name %>
|
|
97
88
|
credentials = @config.credentials
|
98
89
|
<%- unless service.generic_endpoint? -%>
|
99
90
|
credentials ||= Credentials.default scope: @config.scope
|
100
|
-
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
91
|
+
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
101
92
|
credentials = Credentials.new credentials, scope: @config.scope
|
102
93
|
end
|
103
94
|
<%- end -%>
|
104
95
|
|
105
|
-
|
96
|
+
@<%= service.stub_name %> = <%= service.rest.service_stub_name_full %>.new endpoint: @config.endpoint, credentials: credentials
|
106
97
|
end
|
107
98
|
|
108
99
|
# Service calls
|
@@ -51,6 +51,9 @@
|
|
51
51
|
# @!attribute [rw] timeout
|
52
52
|
# The call timeout in seconds.
|
53
53
|
# @return [::Numeric]
|
54
|
+
# @!attribute [rw] metadata
|
55
|
+
# Additional REST headers to be sent with the call.
|
56
|
+
# @return [::Hash{::Symbol=>::String}]
|
54
57
|
#
|
55
58
|
class Configuration
|
56
59
|
extend ::Gapic::Config
|
@@ -64,6 +67,7 @@ class Configuration
|
|
64
67
|
config_attr :lib_name, nil, ::String, nil
|
65
68
|
config_attr :lib_version, nil, ::String, nil
|
66
69
|
config_attr :timeout, nil, ::Numeric, nil
|
70
|
+
config_attr :metadata, nil, ::Hash, nil
|
67
71
|
|
68
72
|
# @private
|
69
73
|
def initialize parent_config = nil
|
@@ -71,4 +75,48 @@ class Configuration
|
|
71
75
|
|
72
76
|
yield self if block_given?
|
73
77
|
end
|
78
|
+
|
79
|
+
##
|
80
|
+
# Configurations for individual RPCs
|
81
|
+
# @return [Rpcs]
|
82
|
+
#
|
83
|
+
def rpcs
|
84
|
+
@rpcs ||= begin
|
85
|
+
parent_rpcs = nil
|
86
|
+
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
|
87
|
+
Rpcs.new parent_rpcs
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
##
|
92
|
+
# Configuration RPC class for the <%= service.name %> API.
|
93
|
+
#
|
94
|
+
# Includes fields providing the configuration for each RPC in this service.
|
95
|
+
# Each configuration object is of type `Gapic::Config::Method` and includes
|
96
|
+
# the following configuration fields:
|
97
|
+
#
|
98
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
99
|
+
#
|
100
|
+
# there is one other field (`retry_policy`) that can be set
|
101
|
+
# but is currently not supported for REST Gapic libraries.
|
102
|
+
#
|
103
|
+
class Rpcs
|
104
|
+
<%- method_service.methods.each do |method| -%>
|
105
|
+
##
|
106
|
+
# RPC-specific configuration for `<%= method.name %>`
|
107
|
+
# @return [::Gapic::Config::Method]
|
108
|
+
#
|
109
|
+
attr_reader :<%= method.name %>
|
110
|
+
<%- end -%>
|
111
|
+
|
112
|
+
# @private
|
113
|
+
def initialize parent_rpcs = nil
|
114
|
+
<%- method_service.methods.each do |method| -%>
|
115
|
+
<%= method.name %>_config = parent_rpcs.<%= method.name %> if parent_rpcs.respond_to? :<%= method.name %>
|
116
|
+
@<%= method.name %> = ::Gapic::Config::Method.new <%= method.name %>_config
|
117
|
+
<%- end -%>
|
118
|
+
|
119
|
+
yield self if block_given?
|
120
|
+
end
|
121
|
+
end
|
74
122
|
end
|
@@ -13,6 +13,6 @@ def <%= method.name %> request, options = nil
|
|
13
13
|
|
14
14
|
<%= indent render(partial: "service/rest/client/method/def/options_defaults", locals: { method: method }), 2 %>
|
15
15
|
|
16
|
-
<%= indent render(partial: "service/rest/client/method/def/
|
16
|
+
<%= indent render(partial: "service/rest/client/method/def/response", locals: { method: method }), 2 %>
|
17
17
|
<%= render partial: "service/rest/client/method/def/rescue", locals: { method: method } -%>
|
18
18
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
4
4
|
|
5
5
|
# Customize the options with defaults
|
6
|
-
call_metadata =
|
6
|
+
call_metadata = @config.rpcs.<%= method.name %>.metadata.to_h
|
7
7
|
|
8
8
|
# Set x-goog-api-client header
|
9
9
|
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
@@ -11,5 +11,8 @@ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
|
11
11
|
gapic_version: ::<%= method.service.gem.version_name_full %>,
|
12
12
|
transports_version_send: [:rest]
|
13
13
|
|
14
|
-
options.apply_defaults timeout: @config.timeout,
|
14
|
+
options.apply_defaults timeout: @config.rpcs.<%= method.name %>.timeout,
|
15
15
|
metadata: call_metadata
|
16
|
+
|
17
|
+
options.apply_defaults timeout: @config.timeout,
|
18
|
+
metadata: @config.metadata
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
<%- if method.rest.paged? -%>
|
3
|
+
<%= render partial: "service/rest/client/method/def/response_paged", locals: { method: method } -%>
|
4
|
+
<%- elsif method.rest.lro? -%>
|
5
|
+
<%= render partial: "service/rest/client/method/def/response_lro", locals: { method: method } -%>
|
6
|
+
<%- else -%>
|
7
|
+
<%= render partial: "service/rest/client/method/def/response_normal", locals: { method: method } -%>
|
8
|
+
<%- end -%>
|
@@ -1,17 +1,6 @@
|
|
1
1
|
<%- assert_locals method -%>
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
3
|
+
@<%= method.service.stub_name %>.<%= method.name %> request, options do |result, response|
|
4
|
+
yield result, response if block_given?
|
5
|
+
return result
|
6
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
|
3
|
+
@<%= method.service.stub_name %>.<%= method.name %> request, options do |result, response|
|
4
|
+
result = ::Gapic::Rest::PagedEnumerable.new @<%= method.service.stub_name %>, :<%= method.name %>, "<%= method.rest.pagination.response_repeated_field_name %>", request, result, options
|
5
|
+
yield result, response if block_given?
|
6
|
+
return result
|
7
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%- assert_locals method -%>
|
2
|
-
# @yield [result,
|
3
|
-
# @yieldparam result [<%= method.doc_response_type %>]
|
2
|
+
# @yield [result, response] Access the result along with the Faraday response object
|
3
|
+
# @yieldparam result [<%= method.rest.doc_response_type %>]
|
4
4
|
# @yieldparam response [::Faraday::Response]
|
5
5
|
#
|
6
|
-
# @return [<%= method.doc_response_type %>]
|
6
|
+
# @return [<%= method.rest.doc_response_type %>]
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%- assert_locals service -%>
|
2
|
+
<% @requires = capture do %>
|
3
|
+
require "<%= service.proto_service_require %>"
|
4
|
+
<% end %>
|
5
|
+
##
|
6
|
+
# REST service stub for the <%= service.name %> service.
|
7
|
+
# service stub contains baseline method implementations
|
8
|
+
# including transcoding, making the REST call and deserialing the response
|
9
|
+
#
|
10
|
+
class <%= service.rest.service_stub_name %>
|
11
|
+
def initialize endpoint:, credentials:
|
12
|
+
# These require statements are intentionally placed here to initialize
|
13
|
+
# the REST modules only when it's required.
|
14
|
+
require "gapic/rest"
|
15
|
+
|
16
|
+
@client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
|
17
|
+
end
|
18
|
+
|
19
|
+
<%- service.methods.each do |method| -%>
|
20
|
+
|
21
|
+
<%= indent_tail render(partial: "service/rest/service_stub/method/def", locals: { method: method }), 2 %>
|
22
|
+
|
23
|
+
<%= indent_tail render(partial: "service/rest/service_stub/grpc_transcoding_method/def", locals: { method: method }), 2 %>
|
24
|
+
<%- end %>
|
25
|
+
end
|
@@ -1,4 +1,7 @@
|
|
1
1
|
<%- assert_locals method -%>
|
2
|
+
##
|
3
|
+
# GRPC transcoding helper method for the <%= method.name %> REST call
|
4
|
+
#
|
2
5
|
# @param request_pb [<%= method.request_type %>]
|
3
6
|
# A request object representing the call parameters. Required.
|
4
7
|
# @return [Array(String, [String, nil], Hash{String => String})]
|
@@ -13,7 +16,7 @@ def <%= method.rest.transcoding_helper_name %> request_pb
|
|
13
16
|
query_string_params = {}
|
14
17
|
<%- if method.rest.query_string_params? -%>
|
15
18
|
<%- method.rest.query_string_params.each do |field| -%>
|
16
|
-
<%= render partial: "service/rest/
|
19
|
+
<%= render partial: "service/rest/service_stub/grpc_transcoding_method/def/query_string_param", locals: { field: field } -%>
|
17
20
|
<%- end -%>
|
18
21
|
<%- end -%>
|
19
22
|
|
File without changes
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<%- assert_locals method -%>
|
2
|
+
##
|
3
|
+
# Baseline implementation for the <%= method.name %> REST call
|
4
|
+
#
|
5
|
+
# @param request_pb [<%= method.rest.request_type %>]
|
6
|
+
# A request object representing the call parameters. Required.
|
7
|
+
# @param options [::Gapic::CallOptions]
|
8
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
9
|
+
#
|
10
|
+
# @yield [result, response] Access the result along with the Faraday response object
|
11
|
+
# @yieldparam result [<%= method.rest.return_type %>]
|
12
|
+
# @yieldparam response [::Faraday::Response]
|
13
|
+
#
|
14
|
+
# @return [<%= method.rest.return_type %>]
|
15
|
+
# A result object deserialized from the server's reply
|
16
|
+
def <%= method.name %> request_pb, options = nil
|
17
|
+
<%= indent render(partial: "service/rest/service_stub/method/def/request", locals: { method: method }), 2 %>
|
18
|
+
|
19
|
+
<%= indent render(partial: "service/rest/service_stub/method/def/response", locals: { method: method }), 2 %>
|
20
|
+
end
|