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)