recombee_api_client 1.1.0 → 1.2.0

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -4
  3. data/lib/recombee_api_client.rb +55 -36
  4. data/lib/recombee_api_client/api/add_bookmark.rb +2 -0
  5. data/lib/recombee_api_client/api/add_cart_addition.rb +2 -0
  6. data/lib/recombee_api_client/api/add_detail_view.rb +2 -0
  7. data/lib/recombee_api_client/api/add_group.rb +2 -0
  8. data/lib/recombee_api_client/api/add_item.rb +2 -0
  9. data/lib/recombee_api_client/api/add_item_property.rb +2 -0
  10. data/lib/recombee_api_client/api/add_purchase.rb +2 -0
  11. data/lib/recombee_api_client/api/add_rating.rb +2 -0
  12. data/lib/recombee_api_client/api/add_series.rb +2 -0
  13. data/lib/recombee_api_client/api/add_user.rb +2 -0
  14. data/lib/recombee_api_client/api/batch.rb +2 -0
  15. data/lib/recombee_api_client/api/delete_bookmark.rb +17 -5
  16. data/lib/recombee_api_client/api/delete_cart_addition.rb +17 -5
  17. data/lib/recombee_api_client/api/delete_detail_view.rb +17 -5
  18. data/lib/recombee_api_client/api/delete_group.rb +2 -0
  19. data/lib/recombee_api_client/api/delete_item.rb +2 -0
  20. data/lib/recombee_api_client/api/delete_item_property.rb +2 -0
  21. data/lib/recombee_api_client/api/delete_purchase.rb +17 -5
  22. data/lib/recombee_api_client/api/delete_rating.rb +17 -5
  23. data/lib/recombee_api_client/api/delete_series.rb +2 -0
  24. data/lib/recombee_api_client/api/delete_user.rb +2 -0
  25. data/lib/recombee_api_client/api/get_item_property_info.rb +2 -0
  26. data/lib/recombee_api_client/api/get_item_values.rb +2 -0
  27. data/lib/recombee_api_client/api/insert_to_group.rb +2 -0
  28. data/lib/recombee_api_client/api/insert_to_series.rb +2 -0
  29. data/lib/recombee_api_client/api/item_based_recommendation.rb +19 -3
  30. data/lib/recombee_api_client/api/list_group_items.rb +2 -0
  31. data/lib/recombee_api_client/api/list_groups.rb +2 -0
  32. data/lib/recombee_api_client/api/list_item_bookmarks.rb +2 -0
  33. data/lib/recombee_api_client/api/list_item_cart_additions.rb +2 -0
  34. data/lib/recombee_api_client/api/list_item_detail_views.rb +2 -0
  35. data/lib/recombee_api_client/api/list_item_properties.rb +2 -0
  36. data/lib/recombee_api_client/api/list_item_purchases.rb +2 -0
  37. data/lib/recombee_api_client/api/list_item_ratings.rb +2 -0
  38. data/lib/recombee_api_client/api/list_items.rb +2 -0
  39. data/lib/recombee_api_client/api/list_series.rb +2 -0
  40. data/lib/recombee_api_client/api/list_series_items.rb +2 -0
  41. data/lib/recombee_api_client/api/list_user_bookmarks.rb +2 -0
  42. data/lib/recombee_api_client/api/list_user_cart_additions.rb +2 -0
  43. data/lib/recombee_api_client/api/list_user_detail_views.rb +2 -0
  44. data/lib/recombee_api_client/api/list_user_purchases.rb +2 -0
  45. data/lib/recombee_api_client/api/list_user_ratings.rb +2 -0
  46. data/lib/recombee_api_client/api/list_users.rb +2 -0
  47. data/lib/recombee_api_client/api/merge_users.rb +2 -0
  48. data/lib/recombee_api_client/api/remove_from_group.rb +2 -0
  49. data/lib/recombee_api_client/api/remove_from_series.rb +2 -0
  50. data/lib/recombee_api_client/api/reset_database.rb +3 -1
  51. data/lib/recombee_api_client/api/set_item_values.rb +2 -0
  52. data/lib/recombee_api_client/api/user_based_recommendation.rb +19 -3
  53. data/lib/recombee_api_client/version.rb +1 -1
  54. metadata +2 -2
@@ -12,18 +12,26 @@ module RecombeeApiClient
12
12
  class DeleteDetailView < ApiRequest
13
13
  attr_reader :user_id, :item_id, :timestamp
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
18
19
  # - +user_id+ -> ID of the user who made the detail view.
19
20
  # - +item_id+ -> ID of the item of which the details were viewed.
20
- # - +timestamp+ -> Unix timestamp of the detail view.
21
21
  #
22
- def initialize(user_id, item_id, timestamp)
22
+ # * *Optional arguments (given as hash optional)*
23
+ # - +timestamp+ -> Unix timestamp of the detail view. If the `timestamp` is omitted, then all the detail views with given `userId` and `itemId` are deleted.
24
+ #
25
+ def initialize(user_id, item_id, optional = {})
23
26
  @user_id = user_id
24
27
  @item_id = item_id
25
- @timestamp = timestamp
28
+ @timestamp = optional['timestamp']
29
+ @optional = optional
26
30
  @timeout = 1000
31
+ @ensure_https = false
32
+ @optional.each do |par, _|
33
+ fail UnknownOptionalParameter.new(par) unless ["timestamp"].include? par
34
+ end
27
35
  end
28
36
 
29
37
  # HTTP method
@@ -43,7 +51,7 @@ module RecombeeApiClient
43
51
  params = {}
44
52
  params['userId'] = @user_id
45
53
  params['itemId'] = @item_id
46
- params['timestamp'] = @timestamp
54
+ params['timestamp'] = @optional['timestamp'] if @optional['timestamp']
47
55
  params
48
56
  end
49
57
 
@@ -54,7 +62,11 @@ module RecombeeApiClient
54
62
 
55
63
  # Relative path to the endpoint including query parameters
56
64
  def path
57
- p = "/{databaseId}/detailviews/?userId=#{@user_id}&itemId=#{@item_id}&timestamp=#{@timestamp}"
65
+ p = "/{databaseId}/detailviews/?userId=#{@user_id}&itemId=#{@item_id}"
66
+ if @optional.include? 'timestamp'
67
+ p += (p.include? '?') ? '&' : '?'
68
+ p += "timestamp=#{@optional['timestamp']}"
69
+ end
58
70
  p
59
71
  end
60
72
  end
@@ -14,6 +14,7 @@ module RecombeeApiClient
14
14
  class DeleteGroup < ApiRequest
15
15
  attr_reader :group_id
16
16
  attr_accessor :timeout
17
+ attr_accessor :ensure_https
17
18
 
18
19
  ##
19
20
  # * *Required arguments*
@@ -22,6 +23,7 @@ module RecombeeApiClient
22
23
  def initialize(group_id)
23
24
  @group_id = group_id
24
25
  @timeout = 1000
26
+ @ensure_https = false
25
27
  end
26
28
 
27
29
  # HTTP method
@@ -16,6 +16,7 @@ module RecombeeApiClient
16
16
  class DeleteItem < ApiRequest
17
17
  attr_reader :item_id
18
18
  attr_accessor :timeout
19
+ attr_accessor :ensure_https
19
20
 
20
21
  ##
21
22
  # * *Required arguments*
@@ -24,6 +25,7 @@ module RecombeeApiClient
24
25
  def initialize(item_id)
25
26
  @item_id = item_id
26
27
  @timeout = 1000
28
+ @ensure_https = false
27
29
  end
28
30
 
29
31
  # HTTP method
@@ -12,6 +12,7 @@ module RecombeeApiClient
12
12
  class DeleteItemProperty < ApiRequest
13
13
  attr_reader :property_name
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
@@ -20,6 +21,7 @@ module RecombeeApiClient
20
21
  def initialize(property_name)
21
22
  @property_name = property_name
22
23
  @timeout = 1000
24
+ @ensure_https = false
23
25
  end
24
26
 
25
27
  # HTTP method
@@ -12,18 +12,26 @@ module RecombeeApiClient
12
12
  class DeletePurchase < ApiRequest
13
13
  attr_reader :user_id, :item_id, :timestamp
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
18
19
  # - +user_id+ -> ID of the user who made the purchase.
19
20
  # - +item_id+ -> ID of the item of which was purchased.
20
- # - +timestamp+ -> Unix timestamp of the purchase.
21
21
  #
22
- def initialize(user_id, item_id, timestamp)
22
+ # * *Optional arguments (given as hash optional)*
23
+ # - +timestamp+ -> Unix timestamp of the purchase. If the `timestamp` is omitted, then all the purchases with given `userId` and `itemId` are deleted.
24
+ #
25
+ def initialize(user_id, item_id, optional = {})
23
26
  @user_id = user_id
24
27
  @item_id = item_id
25
- @timestamp = timestamp
28
+ @timestamp = optional['timestamp']
29
+ @optional = optional
26
30
  @timeout = 1000
31
+ @ensure_https = false
32
+ @optional.each do |par, _|
33
+ fail UnknownOptionalParameter.new(par) unless ["timestamp"].include? par
34
+ end
27
35
  end
28
36
 
29
37
  # HTTP method
@@ -43,7 +51,7 @@ module RecombeeApiClient
43
51
  params = {}
44
52
  params['userId'] = @user_id
45
53
  params['itemId'] = @item_id
46
- params['timestamp'] = @timestamp
54
+ params['timestamp'] = @optional['timestamp'] if @optional['timestamp']
47
55
  params
48
56
  end
49
57
 
@@ -54,7 +62,11 @@ module RecombeeApiClient
54
62
 
55
63
  # Relative path to the endpoint including query parameters
56
64
  def path
57
- p = "/{databaseId}/purchases/?userId=#{@user_id}&itemId=#{@item_id}&timestamp=#{@timestamp}"
65
+ p = "/{databaseId}/purchases/?userId=#{@user_id}&itemId=#{@item_id}"
66
+ if @optional.include? 'timestamp'
67
+ p += (p.include? '?') ? '&' : '?'
68
+ p += "timestamp=#{@optional['timestamp']}"
69
+ end
58
70
  p
59
71
  end
60
72
  end
@@ -12,18 +12,26 @@ module RecombeeApiClient
12
12
  class DeleteRating < ApiRequest
13
13
  attr_reader :user_id, :item_id, :timestamp
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
18
19
  # - +user_id+ -> ID of the user who rated the item.
19
20
  # - +item_id+ -> ID of the item which was rated.
20
- # - +timestamp+ -> Unix timestamp of the rating.
21
21
  #
22
- def initialize(user_id, item_id, timestamp)
22
+ # * *Optional arguments (given as hash optional)*
23
+ # - +timestamp+ -> Unix timestamp of the rating. If the `timestamp` is omitted, then all the ratings with given `userId` and `itemId` are deleted.
24
+ #
25
+ def initialize(user_id, item_id, optional = {})
23
26
  @user_id = user_id
24
27
  @item_id = item_id
25
- @timestamp = timestamp
28
+ @timestamp = optional['timestamp']
29
+ @optional = optional
26
30
  @timeout = 1000
31
+ @ensure_https = false
32
+ @optional.each do |par, _|
33
+ fail UnknownOptionalParameter.new(par) unless ["timestamp"].include? par
34
+ end
27
35
  end
28
36
 
29
37
  # HTTP method
@@ -43,7 +51,7 @@ module RecombeeApiClient
43
51
  params = {}
44
52
  params['userId'] = @user_id
45
53
  params['itemId'] = @item_id
46
- params['timestamp'] = @timestamp
54
+ params['timestamp'] = @optional['timestamp'] if @optional['timestamp']
47
55
  params
48
56
  end
49
57
 
@@ -54,7 +62,11 @@ module RecombeeApiClient
54
62
 
55
63
  # Relative path to the endpoint including query parameters
56
64
  def path
57
- p = "/{databaseId}/ratings/?userId=#{@user_id}&itemId=#{@item_id}&timestamp=#{@timestamp}"
65
+ p = "/{databaseId}/ratings/?userId=#{@user_id}&itemId=#{@item_id}"
66
+ if @optional.include? 'timestamp'
67
+ p += (p.include? '?') ? '&' : '?'
68
+ p += "timestamp=#{@optional['timestamp']}"
69
+ end
58
70
  p
59
71
  end
60
72
  end
@@ -14,6 +14,7 @@ module RecombeeApiClient
14
14
  class DeleteSeries < ApiRequest
15
15
  attr_reader :series_id
16
16
  attr_accessor :timeout
17
+ attr_accessor :ensure_https
17
18
 
18
19
  ##
19
20
  # * *Required arguments*
@@ -22,6 +23,7 @@ module RecombeeApiClient
22
23
  def initialize(series_id)
23
24
  @series_id = series_id
24
25
  @timeout = 1000
26
+ @ensure_https = false
25
27
  end
26
28
 
27
29
  # HTTP method
@@ -14,6 +14,7 @@ module RecombeeApiClient
14
14
  class DeleteUser < ApiRequest
15
15
  attr_reader :user_id
16
16
  attr_accessor :timeout
17
+ attr_accessor :ensure_https
17
18
 
18
19
  ##
19
20
  # * *Required arguments*
@@ -22,6 +23,7 @@ module RecombeeApiClient
22
23
  def initialize(user_id)
23
24
  @user_id = user_id
24
25
  @timeout = 1000
26
+ @ensure_https = false
25
27
  end
26
28
 
27
29
  # HTTP method
@@ -12,6 +12,7 @@ module RecombeeApiClient
12
12
  class GetItemPropertyInfo < ApiRequest
13
13
  attr_reader :property_name
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
@@ -20,6 +21,7 @@ module RecombeeApiClient
20
21
  def initialize(property_name)
21
22
  @property_name = property_name
22
23
  @timeout = 1000
24
+ @ensure_https = false
23
25
  end
24
26
 
25
27
  # HTTP method
@@ -12,6 +12,7 @@ module RecombeeApiClient
12
12
  class GetItemValues < ApiRequest
13
13
  attr_reader :item_id
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
@@ -21,6 +22,7 @@ module RecombeeApiClient
21
22
  def initialize(item_id)
22
23
  @item_id = item_id
23
24
  @timeout = 1000
25
+ @ensure_https = false
24
26
  end
25
27
 
26
28
  # HTTP method
@@ -12,6 +12,7 @@ module RecombeeApiClient
12
12
  class InsertToGroup < ApiRequest
13
13
  attr_reader :group_id, :item_type, :item_id, :cascade_create
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
@@ -29,6 +30,7 @@ module RecombeeApiClient
29
30
  @cascade_create = optional['cascadeCreate']
30
31
  @optional = optional
31
32
  @timeout = 1000
33
+ @ensure_https = false
32
34
  @optional.each do |par, _|
33
35
  fail UnknownOptionalParameter.new(par) unless ["cascadeCreate"].include? par
34
36
  end
@@ -12,6 +12,7 @@ module RecombeeApiClient
12
12
  class InsertToSeries < ApiRequest
13
13
  attr_reader :series_id, :item_type, :item_id, :time, :cascade_create
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
@@ -31,6 +32,7 @@ module RecombeeApiClient
31
32
  @cascade_create = optional['cascadeCreate']
32
33
  @optional = optional
33
34
  @timeout = 1000
35
+ @ensure_https = false
34
36
  @optional.each do |par, _|
35
37
  fail UnknownOptionalParameter.new(par) unless ["cascadeCreate"].include? par
36
38
  end
@@ -10,8 +10,9 @@ module RecombeeApiClient
10
10
  #Recommends set of items that are somehow related to one given item, *X*. Typical scenario for using item-based recommendation is when user *A* is viewing *X*. Then you may display items to the user that he might be also interested in. Item-recommendation request gives you Top-N such items, optionally taking the target user *A* into account.
11
11
  #
12
12
  class ItemBasedRecommendation < ApiRequest
13
- attr_reader :item_id, :count, :target_user_id, :user_impact, :filter, :booster, :allow_nonexistent, :diversity, :min_relevance, :rotation_rate, :rotation_time
13
+ attr_reader :item_id, :count, :target_user_id, :user_impact, :filter, :booster, :allow_nonexistent, :cascade_create, :scenario, :diversity, :min_relevance, :rotation_rate, :rotation_time
14
14
  attr_accessor :timeout
15
+ attr_accessor :ensure_https
15
16
 
16
17
  ##
17
18
  # * *Required arguments*
@@ -24,7 +25,9 @@ module RecombeeApiClient
24
25
  #
25
26
  # - +filter+ -> Boolean-returning [ReQL](https://docs.recombee.com/reql.html) expression which allows you to filter recommended items based on the values of their attributes.
26
27
  # - +booster+ -> Number-returning [ReQL](https://docs.recombee.com/reql.html) expression which allows you to boost recommendation rate of some items based on the values of their attributes.
27
- # - +allowNonexistent+ -> If the user does not exist in the database, returns a list of non-personalized recommendations instead of causing HTTP 404 error.
28
+ # - +allowNonexistent+ -> Instead of causing HTTP 404 error, returns some (non-personalized) recommendations if either item of given *itemId* or user of given *targetUserId* does not exist in the database. It creates neither of the missing entities in the database.
29
+ # - +cascadeCreate+ -> If item of given *itemId* or user of given *targetUserId* doesn't exist in the database, it creates the missing enity/entities and returns some (non-personalized) recommendations. This allows for example rotations in the following recommendations for the user of given *targetUserId*, as the user will be already known to the system.
30
+ # - +scenario+ -> Scenario defines a particular application of recommendations. It can be for example "homepage" or "cart". The AI which optimizes models in order to get the best results may optimize different scenarios separately, or even use different models in each of the scenarios.
28
31
  # - +diversity+ -> **Expert option** Real number from [0.0, 1.0] which determines how much mutually dissimilar should the recommended items be. The default value is 0.0, i.e., no diversification. Value 1.0 means maximal diversification.
29
32
  #
30
33
  # - +minRelevance+ -> **Expert option** Specifies the threshold of how much relevant must the recommended items be to the user. Possible values one of: "low", "medium", "high". The default value is "low", meaning that the system attempts to recommend number of items equal to *count* at any cost. If there are not enough data (such as interactions or item properties), this may even lead to bestseller-based recommendations to be appended to reach the full *count*. This behavior may be suppressed by using "medium" or "high" values. In such case, the system only recommends items of at least the requested qualit, and may return less than *count* items when there is not enough data to fulfill it.
@@ -42,14 +45,17 @@ module RecombeeApiClient
42
45
  @filter = optional['filter']
43
46
  @booster = optional['booster']
44
47
  @allow_nonexistent = optional['allowNonexistent']
48
+ @cascade_create = optional['cascadeCreate']
49
+ @scenario = optional['scenario']
45
50
  @diversity = optional['diversity']
46
51
  @min_relevance = optional['minRelevance']
47
52
  @rotation_rate = optional['rotationRate']
48
53
  @rotation_time = optional['rotationTime']
49
54
  @optional = optional
50
55
  @timeout = 3000
56
+ @ensure_https = false
51
57
  @optional.each do |par, _|
52
- fail UnknownOptionalParameter.new(par) unless ["targetUserId","userImpact","filter","booster","allowNonexistent","diversity","minRelevance","rotationRate","rotationTime"].include? par
58
+ fail UnknownOptionalParameter.new(par) unless ["targetUserId","userImpact","filter","booster","allowNonexistent","cascadeCreate","scenario","diversity","minRelevance","rotationRate","rotationTime"].include? par
53
59
  end
54
60
  end
55
61
 
@@ -74,6 +80,8 @@ module RecombeeApiClient
74
80
  params['filter'] = @optional['filter'] if @optional['filter']
75
81
  params['booster'] = @optional['booster'] if @optional['booster']
76
82
  params['allowNonexistent'] = @optional['allowNonexistent'] if @optional['allowNonexistent']
83
+ params['cascadeCreate'] = @optional['cascadeCreate'] if @optional['cascadeCreate']
84
+ params['scenario'] = @optional['scenario'] if @optional['scenario']
77
85
  params['diversity'] = @optional['diversity'] if @optional['diversity']
78
86
  params['minRelevance'] = @optional['minRelevance'] if @optional['minRelevance']
79
87
  params['rotationRate'] = @optional['rotationRate'] if @optional['rotationRate']
@@ -109,6 +117,14 @@ module RecombeeApiClient
109
117
  p += (p.include? '?') ? '&' : '?'
110
118
  p += "allowNonexistent=#{@optional['allowNonexistent']}"
111
119
  end
120
+ if @optional.include? 'cascadeCreate'
121
+ p += (p.include? '?') ? '&' : '?'
122
+ p += "cascadeCreate=#{@optional['cascadeCreate']}"
123
+ end
124
+ if @optional.include? 'scenario'
125
+ p += (p.include? '?') ? '&' : '?'
126
+ p += "scenario=#{@optional['scenario']}"
127
+ end
112
128
  if @optional.include? 'diversity'
113
129
  p += (p.include? '?') ? '&' : '?'
114
130
  p += "diversity=#{@optional['diversity']}"
@@ -11,6 +11,7 @@ module RecombeeApiClient
11
11
  class ListGroupItems < ApiRequest
12
12
  attr_reader :group_id
13
13
  attr_accessor :timeout
14
+ attr_accessor :ensure_https
14
15
 
15
16
  ##
16
17
  # * *Required arguments*
@@ -19,6 +20,7 @@ module RecombeeApiClient
19
20
  def initialize(group_id)
20
21
  @group_id = group_id
21
22
  @timeout = 1000
23
+ @ensure_https = false
22
24
  end
23
25
 
24
26
  # HTTP method
@@ -11,11 +11,13 @@ module RecombeeApiClient
11
11
  class ListGroups < ApiRequest
12
12
 
13
13
  attr_accessor :timeout
14
+ attr_accessor :ensure_https
14
15
 
15
16
  ##
16
17
  #
17
18
  def initialize()
18
19
  @timeout = 1000
20
+ @ensure_https = false
19
21
  end
20
22
 
21
23
  # HTTP method
@@ -11,6 +11,7 @@ module RecombeeApiClient
11
11
  class ListItemBookmarks < ApiRequest
12
12
  attr_reader :item_id
13
13
  attr_accessor :timeout
14
+ attr_accessor :ensure_https
14
15
 
15
16
  ##
16
17
  # * *Required arguments*
@@ -20,6 +21,7 @@ module RecombeeApiClient
20
21
  def initialize(item_id)
21
22
  @item_id = item_id
22
23
  @timeout = 1000
24
+ @ensure_https = false
23
25
  end
24
26
 
25
27
  # HTTP method
@@ -11,6 +11,7 @@ module RecombeeApiClient
11
11
  class ListItemCartAdditions < ApiRequest
12
12
  attr_reader :item_id
13
13
  attr_accessor :timeout
14
+ attr_accessor :ensure_https
14
15
 
15
16
  ##
16
17
  # * *Required arguments*
@@ -20,6 +21,7 @@ module RecombeeApiClient
20
21
  def initialize(item_id)
21
22
  @item_id = item_id
22
23
  @timeout = 1000
24
+ @ensure_https = false
23
25
  end
24
26
 
25
27
  # HTTP method
@@ -11,6 +11,7 @@ module RecombeeApiClient
11
11
  class ListItemDetailViews < ApiRequest
12
12
  attr_reader :item_id
13
13
  attr_accessor :timeout
14
+ attr_accessor :ensure_https
14
15
 
15
16
  ##
16
17
  # * *Required arguments*
@@ -20,6 +21,7 @@ module RecombeeApiClient
20
21
  def initialize(item_id)
21
22
  @item_id = item_id
22
23
  @timeout = 1000
24
+ @ensure_https = false
23
25
  end
24
26
 
25
27
  # HTTP method