lib/google/cloud/compute/v1/routes/rest/service_stub.rb in google-cloud-compute-v1-1.4.0 vs lib/google/cloud/compute/v1/routes/rest/service_stub.rb in google-cloud-compute-v1-1.5.0

- old
+ new

@@ -53,39 +53,31 @@ # @return [::Google::Cloud::Compute::V1::Operation] # A result object deserialized from the server's reply def delete request_pb, options = nil raise ::ArgumentError, "request must be provided" if request_pb.nil? - uri, _body, query_string_params = transcode_delete_request request_pb - response = @client_stub.make_delete_request( + verb, uri, query_string_params, body = transcode_delete_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split("=", 2) } + else + {} + end + + response = @client_stub.make_http_request( + verb, uri: uri, + body: body || "", params: query_string_params, options: options ) result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true yield result, response if block_given? result end ## - # GRPC transcoding helper method for the delete REST call - # - # @param request_pb [::Google::Cloud::Compute::V1::DeleteRouteRequest] - # A request object representing the call parameters. Required. - # @return [Array(String, [String, nil], Hash{String => String})] - # Uri, Body, Query string parameters - def transcode_delete_request request_pb - uri = "/compute/v1/projects/#{request_pb.project}/global/routes/#{request_pb.route}" - body = nil - query_string_params = {} - query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id? - - [uri, body, query_string_params] - end - - ## # Baseline implementation for the get REST call # # @param request_pb [::Google::Cloud::Compute::V1::GetRouteRequest] # A request object representing the call parameters. Required. # @param options [::Gapic::CallOptions] @@ -98,37 +90,31 @@ # @return [::Google::Cloud::Compute::V1::Route] # A result object deserialized from the server's reply def get request_pb, options = nil raise ::ArgumentError, "request must be provided" if request_pb.nil? - uri, _body, _query_string_params = transcode_get_request request_pb - response = @client_stub.make_get_request( + verb, uri, query_string_params, body = transcode_get_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split("=", 2) } + else + {} + end + + response = @client_stub.make_http_request( + verb, uri: uri, + body: body || "", + params: query_string_params, options: options ) result = ::Google::Cloud::Compute::V1::Route.decode_json response.body, ignore_unknown_fields: true yield result, response if block_given? result end ## - # GRPC transcoding helper method for the get REST call - # - # @param request_pb [::Google::Cloud::Compute::V1::GetRouteRequest] - # A request object representing the call parameters. Required. - # @return [Array(String, [String, nil], Hash{String => String})] - # Uri, Body, Query string parameters - def transcode_get_request request_pb - uri = "/compute/v1/projects/#{request_pb.project}/global/routes/#{request_pb.route}" - body = nil - query_string_params = {} - - [uri, body, query_string_params] - end - - ## # Baseline implementation for the insert REST call # # @param request_pb [::Google::Cloud::Compute::V1::InsertRouteRequest] # A request object representing the call parameters. Required. # @param options [::Gapic::CallOptions] @@ -141,40 +127,31 @@ # @return [::Google::Cloud::Compute::V1::Operation] # A result object deserialized from the server's reply def insert request_pb, options = nil raise ::ArgumentError, "request must be provided" if request_pb.nil? - uri, body, query_string_params = transcode_insert_request request_pb - response = @client_stub.make_post_request( + verb, uri, query_string_params, body = transcode_insert_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split("=", 2) } + else + {} + end + + response = @client_stub.make_http_request( + verb, uri: uri, - body: body, + body: body || "", params: query_string_params, options: options ) result = ::Google::Cloud::Compute::V1::Operation.decode_json response.body, ignore_unknown_fields: true yield result, response if block_given? result end ## - # GRPC transcoding helper method for the insert REST call - # - # @param request_pb [::Google::Cloud::Compute::V1::InsertRouteRequest] - # A request object representing the call parameters. Required. - # @return [Array(String, [String, nil], Hash{String => String})] - # Uri, Body, Query string parameters - def transcode_insert_request request_pb - uri = "/compute/v1/projects/#{request_pb.project}/global/routes" - body = request_pb.route_resource.to_json - query_string_params = {} - query_string_params["requestId"] = request_pb.request_id.to_s if request_pb.has_request_id? - - [uri, body, query_string_params] - end - - ## # Baseline implementation for the list REST call # # @param request_pb [::Google::Cloud::Compute::V1::ListRoutesRequest] # A request object representing the call parameters. Required. # @param options [::Gapic::CallOptions] @@ -187,39 +164,117 @@ # @return [::Google::Cloud::Compute::V1::RouteList] # A result object deserialized from the server's reply def list request_pb, options = nil raise ::ArgumentError, "request must be provided" if request_pb.nil? - uri, _body, query_string_params = transcode_list_request request_pb - response = @client_stub.make_get_request( + verb, uri, query_string_params, body = transcode_list_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split("=", 2) } + else + {} + end + + response = @client_stub.make_http_request( + verb, uri: uri, + body: body || "", params: query_string_params, options: options ) result = ::Google::Cloud::Compute::V1::RouteList.decode_json response.body, ignore_unknown_fields: true yield result, response if block_given? result end + + private + ## + # @private + # + # GRPC transcoding helper method for the delete REST call + # + # @param request_pb [::Google::Cloud::Compute::V1::DeleteRouteRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def transcode_delete_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :delete, + uri_template: "/compute/v1/projects/{project}/global/routes/{route}", + matches: [ + ["project", %r{[^/]+}, false], + ["route", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the get REST call + # + # @param request_pb [::Google::Cloud::Compute::V1::GetRouteRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def transcode_get_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/compute/v1/projects/{project}/global/routes/{route}", + matches: [ + ["project", %r{[^/]+}, false], + ["route", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the insert REST call + # + # @param request_pb [::Google::Cloud::Compute::V1::InsertRouteRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def transcode_insert_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :post, + uri_template: "/compute/v1/projects/{project}/global/routes", + body: "route_resource", + matches: [ + ["project", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # # GRPC transcoding helper method for the list REST call # # @param request_pb [::Google::Cloud::Compute::V1::ListRoutesRequest] # A request object representing the call parameters. Required. # @return [Array(String, [String, nil], Hash{String => String})] # Uri, Body, Query string parameters def transcode_list_request request_pb - uri = "/compute/v1/projects/#{request_pb.project}/global/routes" - body = nil - query_string_params = {} - query_string_params["filter"] = request_pb.filter.to_s if request_pb.has_filter? - query_string_params["maxResults"] = request_pb.max_results.to_s if request_pb.has_max_results? - query_string_params["orderBy"] = request_pb.order_by.to_s if request_pb.has_order_by? - query_string_params["pageToken"] = request_pb.page_token.to_s if request_pb.has_page_token? - query_string_params["returnPartialSuccess"] = request_pb.return_partial_success.to_s if request_pb.has_return_partial_success? - - [uri, body, query_string_params] + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/compute/v1/projects/{project}/global/routes", + matches: [ + ["project", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb end end end end end