google-cloud-retail-v2 1.0.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -20
  3. data/lib/google/cloud/retail/v2/analytics_service/client.rb +29 -2
  4. data/lib/google/cloud/retail/v2/analytics_service/operations.rb +12 -15
  5. data/lib/google/cloud/retail/v2/analytics_service/rest/client.rb +29 -2
  6. data/lib/google/cloud/retail/v2/analytics_service/rest/operations.rb +43 -38
  7. data/lib/google/cloud/retail/v2/analytics_service/rest/service_stub.rb +22 -8
  8. data/lib/google/cloud/retail/v2/catalog_service/client.rb +29 -12
  9. data/lib/google/cloud/retail/v2/catalog_service/rest/client.rb +29 -12
  10. data/lib/google/cloud/retail/v2/catalog_service/rest/service_stub.rb +102 -68
  11. data/lib/google/cloud/retail/v2/completion_service/client.rb +31 -5
  12. data/lib/google/cloud/retail/v2/completion_service/operations.rb +12 -15
  13. data/lib/google/cloud/retail/v2/completion_service/rest/client.rb +31 -5
  14. data/lib/google/cloud/retail/v2/completion_service/rest/operations.rb +43 -38
  15. data/lib/google/cloud/retail/v2/completion_service/rest/service_stub.rb +30 -14
  16. data/lib/google/cloud/retail/v2/completion_service_pb.rb +2 -1
  17. data/lib/google/cloud/retail/v2/control_service/client.rb +29 -6
  18. data/lib/google/cloud/retail/v2/control_service/rest/client.rb +29 -6
  19. data/lib/google/cloud/retail/v2/control_service/rest/service_stub.rb +54 -32
  20. data/lib/google/cloud/retail/v2/generative_question_pb.rb +45 -0
  21. data/lib/google/cloud/retail/v2/generative_question_service/client.rb +853 -0
  22. data/lib/google/cloud/retail/v2/generative_question_service/credentials.rb +51 -0
  23. data/lib/google/cloud/retail/v2/generative_question_service/paths.rb +52 -0
  24. data/lib/google/cloud/retail/v2/generative_question_service/rest/client.rb +792 -0
  25. data/lib/google/cloud/retail/v2/generative_question_service/rest/service_stub.rb +389 -0
  26. data/lib/google/cloud/retail/v2/generative_question_service/rest.rb +52 -0
  27. data/lib/google/cloud/retail/v2/generative_question_service.rb +55 -0
  28. data/lib/google/cloud/retail/v2/generative_question_service_pb.rb +57 -0
  29. data/lib/google/cloud/retail/v2/generative_question_service_services_pb.rb +55 -0
  30. data/lib/google/cloud/retail/v2/model_service/client.rb +31 -9
  31. data/lib/google/cloud/retail/v2/model_service/operations.rb +12 -15
  32. data/lib/google/cloud/retail/v2/model_service/rest/client.rb +31 -9
  33. data/lib/google/cloud/retail/v2/model_service/rest/operations.rb +43 -38
  34. data/lib/google/cloud/retail/v2/model_service/rest/service_stub.rb +78 -50
  35. data/lib/google/cloud/retail/v2/prediction_service/client.rb +28 -2
  36. data/lib/google/cloud/retail/v2/prediction_service/rest/client.rb +28 -2
  37. data/lib/google/cloud/retail/v2/prediction_service/rest/service_stub.rb +22 -8
  38. data/lib/google/cloud/retail/v2/product_service/client.rb +36 -13
  39. data/lib/google/cloud/retail/v2/product_service/operations.rb +12 -15
  40. data/lib/google/cloud/retail/v2/product_service/rest/client.rb +36 -13
  41. data/lib/google/cloud/retail/v2/product_service/rest/operations.rb +43 -38
  42. data/lib/google/cloud/retail/v2/product_service/rest/service_stub.rb +110 -74
  43. data/lib/google/cloud/retail/v2/rest.rb +1 -0
  44. data/lib/google/cloud/retail/v2/search_service/client.rb +35 -3
  45. data/lib/google/cloud/retail/v2/search_service/rest/client.rb +34 -3
  46. data/lib/google/cloud/retail/v2/search_service/rest/service_stub.rb +22 -8
  47. data/lib/google/cloud/retail/v2/search_service_pb.rb +13 -2
  48. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +29 -8
  49. data/lib/google/cloud/retail/v2/serving_config_service/rest/client.rb +29 -8
  50. data/lib/google/cloud/retail/v2/serving_config_service/rest/service_stub.rb +70 -44
  51. data/lib/google/cloud/retail/v2/user_event_service/client.rb +31 -6
  52. data/lib/google/cloud/retail/v2/user_event_service/operations.rb +12 -15
  53. data/lib/google/cloud/retail/v2/user_event_service/rest/client.rb +31 -6
  54. data/lib/google/cloud/retail/v2/user_event_service/rest/operations.rb +43 -38
  55. data/lib/google/cloud/retail/v2/user_event_service/rest/service_stub.rb +54 -32
  56. data/lib/google/cloud/retail/v2/version.rb +1 -1
  57. data/lib/google/cloud/retail/v2.rb +1 -0
  58. data/proto_docs/google/api/client.rb +39 -0
  59. data/proto_docs/google/cloud/retail/v2/common.rb +1 -1
  60. data/proto_docs/google/cloud/retail/v2/completion_service.rb +30 -2
  61. data/proto_docs/google/cloud/retail/v2/generative_question.rb +75 -0
  62. data/proto_docs/google/cloud/retail/v2/generative_question_service.rb +109 -0
  63. data/proto_docs/google/cloud/retail/v2/product.rb +9 -2
  64. data/proto_docs/google/cloud/retail/v2/search_service.rb +204 -0
  65. data/proto_docs/google/longrunning/operations.rb +19 -14
  66. metadata +17 -5
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the create_product REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "create_product",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::Retail::V2::Product.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##
@@ -125,16 +139,18 @@ module Google
125
139
 
126
140
  response = @client_stub.make_http_request(
127
141
  verb,
128
- uri: uri,
129
- body: body || "",
130
- params: query_string_params,
142
+ uri: uri,
143
+ body: body || "",
144
+ params: query_string_params,
145
+ method_name: "get_product",
131
146
  options: options
132
147
  )
133
148
  operation = ::Gapic::Rest::TransportOperation.new response
134
149
  result = ::Google::Cloud::Retail::V2::Product.decode_json response.body, ignore_unknown_fields: true
135
-
136
- yield result, operation if block_given?
137
- result
150
+ catch :response do
151
+ yield result, operation if block_given?
152
+ result
153
+ end
138
154
  end
139
155
 
140
156
  ##
@@ -163,16 +179,18 @@ module Google
163
179
 
164
180
  response = @client_stub.make_http_request(
165
181
  verb,
166
- uri: uri,
167
- body: body || "",
168
- params: query_string_params,
182
+ uri: uri,
183
+ body: body || "",
184
+ params: query_string_params,
185
+ method_name: "list_products",
169
186
  options: options
170
187
  )
171
188
  operation = ::Gapic::Rest::TransportOperation.new response
172
189
  result = ::Google::Cloud::Retail::V2::ListProductsResponse.decode_json response.body, ignore_unknown_fields: true
173
-
174
- yield result, operation if block_given?
175
- result
190
+ catch :response do
191
+ yield result, operation if block_given?
192
+ result
193
+ end
176
194
  end
177
195
 
178
196
  ##
@@ -201,16 +219,18 @@ module Google
201
219
 
202
220
  response = @client_stub.make_http_request(
203
221
  verb,
204
- uri: uri,
205
- body: body || "",
206
- params: query_string_params,
222
+ uri: uri,
223
+ body: body || "",
224
+ params: query_string_params,
225
+ method_name: "update_product",
207
226
  options: options
208
227
  )
209
228
  operation = ::Gapic::Rest::TransportOperation.new response
210
229
  result = ::Google::Cloud::Retail::V2::Product.decode_json response.body, ignore_unknown_fields: true
211
-
212
- yield result, operation if block_given?
213
- result
230
+ catch :response do
231
+ yield result, operation if block_given?
232
+ result
233
+ end
214
234
  end
215
235
 
216
236
  ##
@@ -239,16 +259,18 @@ module Google
239
259
 
240
260
  response = @client_stub.make_http_request(
241
261
  verb,
242
- uri: uri,
243
- body: body || "",
244
- params: query_string_params,
262
+ uri: uri,
263
+ body: body || "",
264
+ params: query_string_params,
265
+ method_name: "delete_product",
245
266
  options: options
246
267
  )
247
268
  operation = ::Gapic::Rest::TransportOperation.new response
248
269
  result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
249
-
250
- yield result, operation if block_given?
251
- result
270
+ catch :response do
271
+ yield result, operation if block_given?
272
+ result
273
+ end
252
274
  end
253
275
 
254
276
  ##
@@ -277,16 +299,18 @@ module Google
277
299
 
278
300
  response = @client_stub.make_http_request(
279
301
  verb,
280
- uri: uri,
281
- body: body || "",
282
- params: query_string_params,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "purge_products",
283
306
  options: options
284
307
  )
285
308
  operation = ::Gapic::Rest::TransportOperation.new response
286
309
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
287
-
288
- yield result, operation if block_given?
289
- result
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
290
314
  end
291
315
 
292
316
  ##
@@ -315,16 +339,18 @@ module Google
315
339
 
316
340
  response = @client_stub.make_http_request(
317
341
  verb,
318
- uri: uri,
319
- body: body || "",
320
- params: query_string_params,
342
+ uri: uri,
343
+ body: body || "",
344
+ params: query_string_params,
345
+ method_name: "import_products",
321
346
  options: options
322
347
  )
323
348
  operation = ::Gapic::Rest::TransportOperation.new response
324
349
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
325
-
326
- yield result, operation if block_given?
327
- result
350
+ catch :response do
351
+ yield result, operation if block_given?
352
+ result
353
+ end
328
354
  end
329
355
 
330
356
  ##
@@ -353,16 +379,18 @@ module Google
353
379
 
354
380
  response = @client_stub.make_http_request(
355
381
  verb,
356
- uri: uri,
357
- body: body || "",
358
- params: query_string_params,
382
+ uri: uri,
383
+ body: body || "",
384
+ params: query_string_params,
385
+ method_name: "set_inventory",
359
386
  options: options
360
387
  )
361
388
  operation = ::Gapic::Rest::TransportOperation.new response
362
389
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
363
-
364
- yield result, operation if block_given?
365
- result
390
+ catch :response do
391
+ yield result, operation if block_given?
392
+ result
393
+ end
366
394
  end
367
395
 
368
396
  ##
@@ -391,16 +419,18 @@ module Google
391
419
 
392
420
  response = @client_stub.make_http_request(
393
421
  verb,
394
- uri: uri,
395
- body: body || "",
396
- params: query_string_params,
422
+ uri: uri,
423
+ body: body || "",
424
+ params: query_string_params,
425
+ method_name: "add_fulfillment_places",
397
426
  options: options
398
427
  )
399
428
  operation = ::Gapic::Rest::TransportOperation.new response
400
429
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
401
-
402
- yield result, operation if block_given?
403
- result
430
+ catch :response do
431
+ yield result, operation if block_given?
432
+ result
433
+ end
404
434
  end
405
435
 
406
436
  ##
@@ -429,16 +459,18 @@ module Google
429
459
 
430
460
  response = @client_stub.make_http_request(
431
461
  verb,
432
- uri: uri,
433
- body: body || "",
434
- params: query_string_params,
462
+ uri: uri,
463
+ body: body || "",
464
+ params: query_string_params,
465
+ method_name: "remove_fulfillment_places",
435
466
  options: options
436
467
  )
437
468
  operation = ::Gapic::Rest::TransportOperation.new response
438
469
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
439
-
440
- yield result, operation if block_given?
441
- result
470
+ catch :response do
471
+ yield result, operation if block_given?
472
+ result
473
+ end
442
474
  end
443
475
 
444
476
  ##
@@ -467,16 +499,18 @@ module Google
467
499
 
468
500
  response = @client_stub.make_http_request(
469
501
  verb,
470
- uri: uri,
471
- body: body || "",
472
- params: query_string_params,
502
+ uri: uri,
503
+ body: body || "",
504
+ params: query_string_params,
505
+ method_name: "add_local_inventories",
473
506
  options: options
474
507
  )
475
508
  operation = ::Gapic::Rest::TransportOperation.new response
476
509
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
477
-
478
- yield result, operation if block_given?
479
- result
510
+ catch :response do
511
+ yield result, operation if block_given?
512
+ result
513
+ end
480
514
  end
481
515
 
482
516
  ##
@@ -505,16 +539,18 @@ module Google
505
539
 
506
540
  response = @client_stub.make_http_request(
507
541
  verb,
508
- uri: uri,
509
- body: body || "",
510
- params: query_string_params,
542
+ uri: uri,
543
+ body: body || "",
544
+ params: query_string_params,
545
+ method_name: "remove_local_inventories",
511
546
  options: options
512
547
  )
513
548
  operation = ::Gapic::Rest::TransportOperation.new response
514
549
  result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
515
-
516
- yield result, operation if block_given?
517
- result
550
+ catch :response do
551
+ yield result, operation if block_given?
552
+ result
553
+ end
518
554
  end
519
555
 
520
556
  ##
@@ -20,6 +20,7 @@ require "google/cloud/retail/v2/analytics_service/rest"
20
20
  require "google/cloud/retail/v2/catalog_service/rest"
21
21
  require "google/cloud/retail/v2/completion_service/rest"
22
22
  require "google/cloud/retail/v2/control_service/rest"
23
+ require "google/cloud/retail/v2/generative_question_service/rest"
23
24
  require "google/cloud/retail/v2/model_service/rest"
24
25
  require "google/cloud/retail/v2/prediction_service/rest"
25
26
  require "google/cloud/retail/v2/product_service/rest"
@@ -166,14 +166,26 @@ module Google
166
166
  universe_domain: @config.universe_domain,
167
167
  channel_args: @config.channel_args,
168
168
  interceptors: @config.interceptors,
169
- channel_pool_config: @config.channel_pool
169
+ channel_pool_config: @config.channel_pool,
170
+ logger: @config.logger
170
171
  )
171
172
 
173
+ @search_service_stub.stub_logger&.info do |entry|
174
+ entry.set_system_name
175
+ entry.set_service
176
+ entry.message = "Created client for #{entry.service}"
177
+ entry.set_credentials_fields credentials
178
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
179
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
180
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
181
+ end
182
+
172
183
  @location_client = Google::Cloud::Location::Locations::Client.new do |config|
173
184
  config.credentials = credentials
174
185
  config.quota_project = @quota_project_id
175
186
  config.endpoint = @search_service_stub.endpoint
176
187
  config.universe_domain = @search_service_stub.universe_domain
188
+ config.logger = @search_service_stub.logger if config.respond_to? :logger=
177
189
  end
178
190
  end
179
191
 
@@ -184,6 +196,15 @@ module Google
184
196
  #
185
197
  attr_reader :location_client
186
198
 
199
+ ##
200
+ # The logger used for request/response debug logging.
201
+ #
202
+ # @return [Logger]
203
+ #
204
+ def logger
205
+ @search_service_stub.logger
206
+ end
207
+
187
208
  # Service calls
188
209
 
189
210
  ##
@@ -202,7 +223,7 @@ module Google
202
223
  # @param options [::Gapic::CallOptions, ::Hash]
203
224
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
204
225
  #
205
- # @overload search(placement: nil, branch: nil, query: nil, visitor_id: nil, user_info: nil, page_size: nil, page_token: nil, offset: nil, filter: nil, canonical_filter: nil, order_by: nil, facet_specs: nil, dynamic_facet_spec: nil, boost_spec: nil, query_expansion_spec: nil, variant_rollup_keys: nil, page_categories: nil, search_mode: nil, personalization_spec: nil, labels: nil, spell_correction_spec: nil, entity: nil)
226
+ # @overload search(placement: nil, branch: nil, query: nil, visitor_id: nil, user_info: nil, page_size: nil, page_token: nil, offset: nil, filter: nil, canonical_filter: nil, order_by: nil, facet_specs: nil, dynamic_facet_spec: nil, boost_spec: nil, query_expansion_spec: nil, variant_rollup_keys: nil, page_categories: nil, search_mode: nil, personalization_spec: nil, labels: nil, spell_correction_spec: nil, entity: nil, conversational_search_spec: nil, tile_navigation_spec: nil)
206
227
  # Pass arguments to `search` via keyword arguments. Note that at
207
228
  # least one keyword argument is required. To specify no parameters, or to keep all
208
229
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -445,6 +466,11 @@ module Google
445
466
  # If this is set, it should be exactly matched with
446
467
  # {::Google::Cloud::Retail::V2::UserEvent#entity UserEvent.entity} to get search
447
468
  # results boosted by entity.
469
+ # @param conversational_search_spec [::Google::Cloud::Retail::V2::SearchRequest::ConversationalSearchSpec, ::Hash]
470
+ # Optional. This field specifies all conversational related parameters
471
+ # addition to traditional retail search.
472
+ # @param tile_navigation_spec [::Google::Cloud::Retail::V2::SearchRequest::TileNavigationSpec, ::Hash]
473
+ # Optional. This field specifies tile navigation related parameters.
448
474
  #
449
475
  # @yield [response, operation] Access the result along with the RPC operation
450
476
  # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Retail::V2::SearchResponse::SearchResult>]
@@ -510,7 +536,7 @@ module Google
510
536
  @search_service_stub.call_rpc :search, request, options: options do |response, operation|
511
537
  response = ::Gapic::PagedEnumerable.new @search_service_stub, :search, request, response, operation, options
512
538
  yield response, operation if block_given?
513
- return response
539
+ throw :response, response
514
540
  end
515
541
  rescue ::GRPC::BadStatus => e
516
542
  raise ::Google::Cloud::Error.from_error(e)
@@ -599,6 +625,11 @@ module Google
599
625
  # default endpoint URL. The default value of nil uses the environment
600
626
  # universe (usually the default "googleapis.com" universe).
601
627
  # @return [::String,nil]
628
+ # @!attribute [rw] logger
629
+ # A custom logger to use for request/response debug logging, or the value
630
+ # `:default` (the default) to construct a default logger, or `nil` to
631
+ # explicitly disable logging.
632
+ # @return [::Logger,:default,nil]
602
633
  #
603
634
  class Configuration
604
635
  extend ::Gapic::Config
@@ -623,6 +654,7 @@ module Google
623
654
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
624
655
  config_attr :quota_project, nil, ::String, nil
625
656
  config_attr :universe_domain, nil, ::String, nil
657
+ config_attr :logger, :default, ::Logger, nil, :default
626
658
 
627
659
  # @private
628
660
  def initialize parent_config = nil
@@ -159,14 +159,26 @@ module Google
159
159
  endpoint: @config.endpoint,
160
160
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
161
161
  universe_domain: @config.universe_domain,
162
- credentials: credentials
162
+ credentials: credentials,
163
+ logger: @config.logger
163
164
  )
164
165
 
166
+ @search_service_stub.logger(stub: true)&.info do |entry|
167
+ entry.set_system_name
168
+ entry.set_service
169
+ entry.message = "Created client for #{entry.service}"
170
+ entry.set_credentials_fields credentials
171
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
172
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
173
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
174
+ end
175
+
165
176
  @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
166
177
  config.credentials = credentials
167
178
  config.quota_project = @quota_project_id
168
179
  config.endpoint = @search_service_stub.endpoint
169
180
  config.universe_domain = @search_service_stub.universe_domain
181
+ config.logger = @search_service_stub.logger if config.respond_to? :logger=
170
182
  end
171
183
  end
172
184
 
@@ -177,6 +189,15 @@ module Google
177
189
  #
178
190
  attr_reader :location_client
179
191
 
192
+ ##
193
+ # The logger used for request/response debug logging.
194
+ #
195
+ # @return [Logger]
196
+ #
197
+ def logger
198
+ @search_service_stub.logger
199
+ end
200
+
180
201
  # Service calls
181
202
 
182
203
  ##
@@ -195,7 +216,7 @@ module Google
195
216
  # @param options [::Gapic::CallOptions, ::Hash]
196
217
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
197
218
  #
198
- # @overload search(placement: nil, branch: nil, query: nil, visitor_id: nil, user_info: nil, page_size: nil, page_token: nil, offset: nil, filter: nil, canonical_filter: nil, order_by: nil, facet_specs: nil, dynamic_facet_spec: nil, boost_spec: nil, query_expansion_spec: nil, variant_rollup_keys: nil, page_categories: nil, search_mode: nil, personalization_spec: nil, labels: nil, spell_correction_spec: nil, entity: nil)
219
+ # @overload search(placement: nil, branch: nil, query: nil, visitor_id: nil, user_info: nil, page_size: nil, page_token: nil, offset: nil, filter: nil, canonical_filter: nil, order_by: nil, facet_specs: nil, dynamic_facet_spec: nil, boost_spec: nil, query_expansion_spec: nil, variant_rollup_keys: nil, page_categories: nil, search_mode: nil, personalization_spec: nil, labels: nil, spell_correction_spec: nil, entity: nil, conversational_search_spec: nil, tile_navigation_spec: nil)
199
220
  # Pass arguments to `search` via keyword arguments. Note that at
200
221
  # least one keyword argument is required. To specify no parameters, or to keep all
201
222
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -438,6 +459,11 @@ module Google
438
459
  # If this is set, it should be exactly matched with
439
460
  # {::Google::Cloud::Retail::V2::UserEvent#entity UserEvent.entity} to get search
440
461
  # results boosted by entity.
462
+ # @param conversational_search_spec [::Google::Cloud::Retail::V2::SearchRequest::ConversationalSearchSpec, ::Hash]
463
+ # Optional. This field specifies all conversational related parameters
464
+ # addition to traditional retail search.
465
+ # @param tile_navigation_spec [::Google::Cloud::Retail::V2::SearchRequest::TileNavigationSpec, ::Hash]
466
+ # Optional. This field specifies tile navigation related parameters.
441
467
  # @yield [result, operation] Access the result along with the TransportOperation object
442
468
  # @yieldparam result [::Google::Cloud::Retail::V2::SearchResponse]
443
469
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -495,7 +521,6 @@ module Google
495
521
 
496
522
  @search_service_stub.search request, options do |result, operation|
497
523
  yield result, operation if block_given?
498
- return result
499
524
  end
500
525
  rescue ::Gapic::Rest::Error => e
501
526
  raise ::Google::Cloud::Error.from_error(e)
@@ -575,6 +600,11 @@ module Google
575
600
  # default endpoint URL. The default value of nil uses the environment
576
601
  # universe (usually the default "googleapis.com" universe).
577
602
  # @return [::String,nil]
603
+ # @!attribute [rw] logger
604
+ # A custom logger to use for request/response debug logging, or the value
605
+ # `:default` (the default) to construct a default logger, or `nil` to
606
+ # explicitly disable logging.
607
+ # @return [::Logger,:default,nil]
578
608
  #
579
609
  class Configuration
580
610
  extend ::Gapic::Config
@@ -596,6 +626,7 @@ module Google
596
626
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
597
627
  config_attr :quota_project, nil, ::String, nil
598
628
  config_attr :universe_domain, nil, ::String, nil
629
+ config_attr :logger, :default, ::Logger, nil, :default
599
630
 
600
631
  # @private
601
632
  def initialize parent_config = nil
@@ -30,7 +30,8 @@ module Google
30
30
  # including transcoding, making the REST call, and deserialing the response.
31
31
  #
32
32
  class ServiceStub
33
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
33
+ # @private
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
34
35
  # These require statements are intentionally placed here to initialize
35
36
  # the REST modules only when it's required.
36
37
  require "gapic/rest"
@@ -40,7 +41,9 @@ module Google
40
41
  universe_domain: universe_domain,
41
42
  credentials: credentials,
42
43
  numeric_enums: true,
43
- raise_faraday_errors: false
44
+ service_name: self.class,
45
+ raise_faraday_errors: false,
46
+ logger: logger
44
47
  end
45
48
 
46
49
  ##
@@ -61,6 +64,15 @@ module Google
61
64
  @client_stub.endpoint
62
65
  end
63
66
 
67
+ ##
68
+ # The logger used for request/response debug logging.
69
+ #
70
+ # @return [Logger]
71
+ #
72
+ def logger stub: false
73
+ stub ? @client_stub.stub_logger : @client_stub.logger
74
+ end
75
+
64
76
  ##
65
77
  # Baseline implementation for the search REST call
66
78
  #
@@ -87,16 +99,18 @@ module Google
87
99
 
88
100
  response = @client_stub.make_http_request(
89
101
  verb,
90
- uri: uri,
91
- body: body || "",
92
- params: query_string_params,
102
+ uri: uri,
103
+ body: body || "",
104
+ params: query_string_params,
105
+ method_name: "search",
93
106
  options: options
94
107
  )
95
108
  operation = ::Gapic::Rest::TransportOperation.new response
96
109
  result = ::Google::Cloud::Retail::V2::SearchResponse.decode_json response.body, ignore_unknown_fields: true
97
-
98
- yield result, operation if block_given?
99
- result
110
+ catch :response do
111
+ yield result, operation if block_given?
112
+ result
113
+ end
100
114
  end
101
115
 
102
116
  ##