diff --git a/CHANGELOG.md b/CHANGELOG.md index dca5c34..64655df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ## CHANGE LOG +### v6.2.2 + +- 为/pfop接口添加`pipeline`参数,用于指明使用哪个命名转码队列。 [https://github.com/qiniu/ruby-sdk/pull/92](https://github.com/qiniu/ruby-sdk/pull/92) +- 为authorize_download_url()添加`:fop`参数,用于生成含数据处理指令的授权下载URL。 + ### v6.2.1 - 去除已废弃的publish/unpublish接口。 [https://github.com/qiniu/ruby-sdk/pull/90](https://github.com/qiniu/ruby-sdk/pull/90) (#8143) diff --git a/Gemfile.lock b/Gemfile.lock index 1d1df68..9c5bf99 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - qiniu (6.2.1) + qiniu (6.2.2) json (~> 1.7) mime-types (~> 1.19) rest-client (~> 1.6) diff --git a/lib/qiniu/auth.rb b/lib/qiniu/auth.rb index 675ca20..10e5473 100755 --- a/lib/qiniu/auth.rb +++ b/lib/qiniu/auth.rb @@ -138,16 +138,29 @@ module Qiniu access_key = Config.settings[:access_key] secret_key = Config.settings[:secret_key] + download_url = url + + ### URL变换:追加FOP指令 + if args[:fop].is_a?(String) && args[:fop] != '' then + if download_url.index('?').is_a?(Fixnum) then + # 已有参数 + download_url = "#{download_url}&#{args[:fop]}" + else + # 尚无参数 + download_url = "#{download_url}?#{args[:fop]}" + end + end + ### 授权期计算 e = Auth.calculate_deadline(args[:expires_in], args[:deadline]) ### URL变换:追加授权期参数 - if url.index('?').is_a?(Fixnum) then + if download_url.index('?').is_a?(Fixnum) then # 已有参数 - download_url = "#{url}&e=#{e}" + download_url = "#{download_url}&e=#{e}" else # 尚无参数 - download_url = "#{url}?e=#{e}" + download_url = "#{download_url}?e=#{e}" end ### 生成数字签名 diff --git a/lib/qiniu/pfop.rb b/lib/qiniu/pfop.rb index 29e571f..956ef43 100755 --- a/lib/qiniu/pfop.rb +++ b/lib/qiniu/pfop.rb @@ -30,6 +30,7 @@ module Qiniu :key => "key", :fops => "fops", :notify_url => "notifyURL", + :pipeline => "pipeline", # 数值类型参数 :force => "force" diff --git a/lib/qiniu/version.rb b/lib/qiniu/version.rb index 8b5af3f..51c7678 100755 --- a/lib/qiniu/version.rb +++ b/lib/qiniu/version.rb @@ -4,7 +4,7 @@ module Qiniu module Version MAJOR = 6 MINOR = 2 - PATCH = 1 + PATCH = 2 # Returns a version string by joining MAJOR, MINOR, and PATCH with '.' # # Example diff --git a/spec/qiniu/auth_spec.rb b/spec/qiniu/auth_spec.rb index afb54bc..c8a7a81 100755 --- a/spec/qiniu/auth_spec.rb +++ b/spec/qiniu/auth_spec.rb @@ -1,4 +1,5 @@ # -*- encoding: utf-8 -*- +# vim: sw=2 ts=2 require 'spec_helper' require 'qiniu/auth' @@ -56,7 +57,12 @@ module Qiniu result.body.should_not be_empty ### 授权下载地址(带参数) - download_url = Qiniu::Auth.authorize_download_url(url + '?download/a.m3u8') + download_url = Qiniu::Auth.authorize_download_url( + url, + { + :fop => 'download/a.m3u8' + } + ) puts "download_url=#{download_url}" result = RestClient.get(download_url)