baidubce-sdk 0.9.1 → 0.9.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 37ee3d088dfe300d2c4bc59ede9c3295460349d7
4
- data.tar.gz: 9c7fcf154a0f0a51b6b4a731e1ab2193e8247f04
2
+ SHA256:
3
+ metadata.gz: 54459c307d8f0e22399d42565dc66f5895deaa489cf88a51ee868aa6c27cb342
4
+ data.tar.gz: 52f14924396670c789493344807183f2255d2ccd1bdd17651b8d74e66334f96a
5
5
  SHA512:
6
- metadata.gz: 7eaa2b1a43bab2af6d5355cb24bf37d2ada15a10db184364a65f1c6ddab3f5a58ef1dddae0851c08f400f9c163b5c39a33058a0805c7582f9e865cb11490eba7
7
- data.tar.gz: 70c5c1e51449b504d1a8a05b21dd1f5e2fb3f7831ce2713f48a83f4633814cb056d74384328229534bd8d0563933a3dda94f2a79d984218fca1b68df0d89a10d
6
+ metadata.gz: 014507f6ddf03fe3f0755a3648d81d5d91fb6e8a56d7e70cce8df332d33d0a402eb7215bf1aa01ea4b55e8f1675355ffcc54dabfbcfc36a6fef07c52b2b0c8ee
7
+ data.tar.gz: d5a179e2b931199b2f5f4b74d85a4cca4058db3c4049c6174382bd3dec07859df1d746b9fe3f9138d1e1a88a8952da94c5ea878cdca843237d833023e9ce7816
data/baidubce-sdk.gemspec CHANGED
@@ -24,8 +24,10 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.15"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
- spec.add_development_dependency "rest-client", "~> 2.0", ">= 2.0.2"
28
- spec.add_development_dependency "logger", "~> 1.2", ">= 1.2.8"
29
- spec.add_development_dependency "mimemagic", "~> 0.3", ">= 0.3.2"
27
+
28
+ spec.add_runtime_dependency "rest-client", "~> 2.0", ">= 2.0.2"
29
+ spec.add_runtime_dependency "logger", "~> 1.2", ">= 1.2.8"
30
+ spec.add_runtime_dependency "mimemagic", "~> 0.3", ">= 0.3.2"
31
+ spec.add_runtime_dependency "unf_ext", "0.0.7.7"
30
32
  spec.required_ruby_version = ">= 2.0.0"
31
33
  end
@@ -15,6 +15,7 @@
15
15
  module Baidubce
16
16
 
17
17
  DEFAULT_SERVICE_DOMAIN = 'baidubce.com'
18
+ DEFAULT_BOS_DOMAIN = 'bcebos.com'
18
19
  DEFAULT_ENCODING = 'UTF-8'
19
20
 
20
21
  SOCKET_ERROR_CODE = -100
@@ -21,11 +21,10 @@ module Baidubce
21
21
  module Services
22
22
 
23
23
  class BosClient < BceBaseClient
24
-
25
24
  # List buckets of user.
26
25
  # returns all buckets owned by the user.
27
26
  def list_buckets()
28
- send_request(GET)
27
+ send_request(GET, "", {}, "", {}, "", nil, false, true)
29
28
  end
30
29
 
31
30
  # Create bucket with specific name.
@@ -248,7 +247,7 @@ module Baidubce
248
247
  def generate_pre_signed_url(bucket_name, key, options={})
249
248
  headers = options['headers'].nil? ? {} : options['headers']
250
249
  params = options['params'].nil? ? {} : options['params']
251
-
250
+ gen_host(bucket_name, false)
252
251
  path = Utils.append_uri("/", key)
253
252
  url, headers[HOST] = Utils.parse_url_host(@config)
254
253
  unless @config.cname_enabled || Utils.is_cname_like_host(@config.endpoint)
@@ -422,13 +421,45 @@ module Baidubce
422
421
  send_request(DELETE, bucket_name, params, key)
423
422
  end
424
423
 
425
- def send_request(http_method, bucket_name="", params={}, key="", headers={}, body="", save_path=nil, return_body=false, &block)
424
+ def gen_host(bucket_name, is_bucket_api)
425
+ endpoint = @config.endpoint
426
+ unless endpoint.include?"://"
427
+ protocol = @config.protocol.downcase
428
+ raise "Invalid protocol #{protocol}." if protocol != "http" && protocol != 'https'
429
+ endpoint = sprintf("%s://%s", protocol, endpoint)
430
+ end
431
+ parsed_endpoint = URI.parse(endpoint)
432
+ scheme = parsed_endpoint.scheme.downcase
433
+ host = parsed_endpoint.host
434
+ parts = host.split('.')
435
+ if is_bucket_api == true
436
+ @config.cname_enabled = false
437
+ if host.include?(DEFAULT_BOS_DOMAIN)
438
+ last_three_elements = parts.last(3)
439
+ host = last_three_elements.join('.')
440
+ end
441
+ else
442
+ if @config.cname_enabled == false
443
+ @config.cname_enabled = true
444
+ if parts.length == 3
445
+ host = [bucket_name, parts[0], parts[1], parts[2]].join('.')
446
+ end
447
+ end
448
+ end
449
+ port = parsed_endpoint.port
450
+ host += ":#{port}" unless scheme == 'http' && port == 80 || scheme == 'https' && port == 443
451
+ @config.endpoint = host
452
+ end
453
+
454
+ def send_request(http_method, bucket_name="", params={}, key="", headers={}, body="", save_path=nil, return_body=false, is_bucket_api=false, &block)
455
+ gen_host(bucket_name, is_bucket_api)
426
456
  if @config.cname_enabled || Utils.is_cname_like_host(@config.endpoint)
427
457
  path = Utils.append_uri("/", key)
428
458
  else
429
- path = Utils.append_uri("/", bucket_name, key)
459
+ if is_bucket_api == false
460
+ path = Utils.append_uri("/", bucket_name, key)
461
+ end
430
462
  end
431
-
432
463
  begin
433
464
  resp_body, resp_headers = @http_client.send_request(@config, @signer, http_method, path, params,
434
465
  headers, body, save_path, false, &block)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Baidubce
4
4
 
5
- VERSION = "0.9.1"
5
+ VERSION = "0.9.4"
6
6
 
7
7
  end
@@ -19,8 +19,8 @@ include Baidubce
19
19
 
20
20
  # debug
21
21
  credentials = Auth::BceCredentials.new(
22
- # "your ak",
23
- # "your sk"
22
+ # "your ak",
23
+ # "your sk"
24
24
  )
25
25
 
26
26
  conf = BceClientConfiguration.new(
@@ -176,7 +176,6 @@ demo "put object" do
176
176
  'Content-Disposition' => 'inline',
177
177
  'user-metadata' => user_metadata
178
178
  }
179
-
180
179
  client.put_object_from_string(bucket_name, "obj.txt", "obj", options)
181
180
  puts client.get_object_as_string(bucket_name, "obj.txt")
182
181
  puts client.get_object_to_file(bucket_name, "obj.txt", "obj_file.txt")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baidubce-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - xiaoyong
8
- autorequire:
8
+ autorequire:
9
9
  bindir: lib/baidubce
10
10
  cert_chain: []
11
- date: 2020-04-17 00:00:00.000000000 Z
11
+ date: 2024-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -62,7 +62,7 @@ dependencies:
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
64
  version: 2.0.2
65
- type: :development
65
+ type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
@@ -82,7 +82,7 @@ dependencies:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: 1.2.8
85
- type: :development
85
+ type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
@@ -102,7 +102,7 @@ dependencies:
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: 0.3.2
105
- type: :development
105
+ type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
@@ -112,6 +112,20 @@ dependencies:
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: 0.3.2
115
+ - !ruby/object:Gem::Dependency
116
+ name: unf_ext
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - '='
120
+ - !ruby/object:Gem::Version
121
+ version: 0.0.7.7
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - '='
127
+ - !ruby/object:Gem::Version
128
+ version: 0.0.7.7
115
129
  description: The official Ruby sdk used to accessing BaiduBce Object Storage Service
116
130
  email:
117
131
  - xiaoyong@baidu.com
@@ -149,7 +163,7 @@ homepage: https://github.com/baidubce/bce-sdk-ruby
149
163
  licenses:
150
164
  - Apache-2.0
151
165
  metadata: {}
152
- post_install_message:
166
+ post_install_message:
153
167
  rdoc_options: []
154
168
  require_paths:
155
169
  - lib
@@ -164,9 +178,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
178
  - !ruby/object:Gem::Version
165
179
  version: '0'
166
180
  requirements: []
167
- rubyforge_project:
168
- rubygems_version: 2.6.14
169
- signing_key:
181
+ rubygems_version: 3.5.4
182
+ signing_key:
170
183
  specification_version: 4
171
184
  summary: BaiduBce BOS Ruby SDK
172
185
  test_files: []