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

- old
+ new

@@ -53,36 +53,53 @@ # @return [::Google::Cloud::Compute::V1::Operation] # A result object deserialized from the server's reply def bulk_insert request_pb, options = nil raise ::ArgumentError, "request must be provided" if request_pb.nil? - uri, body, query_string_params = transcode_bulk_insert_request request_pb - response = @client_stub.make_post_request( + verb, uri, query_string_params, body = transcode_bulk_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 + + private + ## + # @private + # # GRPC transcoding helper method for the bulk_insert REST call # # @param request_pb [::Google::Cloud::Compute::V1::BulkInsertRegionInstanceRequest] # A request object representing the call parameters. Required. # @return [Array(String, [String, nil], Hash{String => String})] # Uri, Body, Query string parameters def transcode_bulk_insert_request request_pb - uri = "/compute/v1/projects/#{request_pb.project}/regions/#{request_pb.region}/instances/bulkInsert" - body = request_pb.bulk_insert_instance_resource_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] + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :post, + uri_template: "/compute/v1/projects/{project}/regions/{region}/instances/bulkInsert", + body: "bulk_insert_instance_resource_resource", + matches: [ + ["project", %r{[^/]+}, false], + ["region", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb end end end end end