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

- old
+ new

@@ -53,37 +53,31 @@ # @return [::Google::Cloud::Compute::V1::Zone] # 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::Zone.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::GetZoneRequest] - # 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}/zones/#{request_pb.zone}" - body = nil - query_string_params = {} - - [uri, body, query_string_params] - end - - ## # Baseline implementation for the list REST call # # @param request_pb [::Google::Cloud::Compute::V1::ListZonesRequest] # A request object representing the call parameters. Required. # @param options [::Gapic::CallOptions] @@ -96,39 +90,73 @@ # @return [::Google::Cloud::Compute::V1::ZoneList] # 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::ZoneList.decode_json response.body, ignore_unknown_fields: true yield result, response if block_given? result end + + private + ## + # @private + # + # GRPC transcoding helper method for the get REST call + # + # @param request_pb [::Google::Cloud::Compute::V1::GetZoneRequest] + # 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}/zones/{zone}", + matches: [ + ["project", %r{[^/]+}, false], + ["zone", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # # GRPC transcoding helper method for the list REST call # # @param request_pb [::Google::Cloud::Compute::V1::ListZonesRequest] # 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}/zones" - 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}/zones", + matches: [ + ["project", %r{[^/]+}, false] + ] + ) + transcoder.transcode request_pb end end end end end