mirror of
https://github.com/eiblog/eiblog.git
synced 2026-03-01 00:34:58 +08:00
update vendor
This commit is contained in:
27
vendor/qiniupkg.com/api.v7/.travis.yml
generated
vendored
27
vendor/qiniupkg.com/api.v7/.travis.yml
generated
vendored
@@ -1,16 +1,19 @@
|
||||
language: go
|
||||
before_script:
|
||||
- export QINIU_KODO_TEST=1
|
||||
- export QINIU_ACCESS_KEY="QWYn5TFQsLLU1pL5MFEmX3s5DmHdUThav9WyOWOm"
|
||||
- export QINIU_SECRET_KEY="Bxckh6FA-Fbs9Yt3i3cbKVK22UPBmAOHJcL95pGz"
|
||||
- export QINIU_TEST_BUCKET="gosdk"
|
||||
- export QINIU_TEST_DOMAIN="gosdk.qiniudn.com"
|
||||
go:
|
||||
- 1.7
|
||||
- 1.8
|
||||
- master
|
||||
env:
|
||||
global:
|
||||
- QINIU_KODO_TEST=1
|
||||
- QINIU_ACCESS_KEY="QWYn5TFQsLLU1pL5MFEmX3s5DmHdUThav9WyOWOm"
|
||||
- QINIU_SECRET_KEY="Bxckh6FA-Fbs9Yt3i3cbKVK22UPBmAOHJcL95pGz"
|
||||
- QINIU_TEST_BUCKET="gosdk"
|
||||
- QINIU_TEST_DOMAIN="gosdk.qiniudn.com"
|
||||
|
||||
install:
|
||||
- export QINIU_SRC=$HOME/gopath/src
|
||||
- mkdir -p $QINIU_SRC/qiniupkg.com
|
||||
- mv $QINIU_SRC/github.com/qiniu/api.v7 $QINIU_SRC/qiniupkg.com/api.v7
|
||||
- git clone --depth=50 git://github.com/qiniu/x.git $QINIU_SRC/qiniupkg.com/x
|
||||
- export TRAVIS_BUILD_DIR=$QINIU_SRC/qiniupkg.com/api.v7
|
||||
- mkdir -p $QINIU_SRC/github.com/qiniu
|
||||
- export TRAVIS_BUILD_DIR=$QINIU_SRC/github.com/qiniu/api.v7
|
||||
- cd $TRAVIS_BUILD_DIR
|
||||
- go get golang.org/x/net/context
|
||||
|
||||
- go get github.com/qiniu/x
|
||||
14
vendor/qiniupkg.com/api.v7/README.md
generated
vendored
14
vendor/qiniupkg.com/api.v7/README.md
generated
vendored
@@ -1,14 +1,14 @@
|
||||
qiniupkg.com/api.v7 (Qiniu Go SDK v7.x)
|
||||
github.com/qiniu/api.v7 (Qiniu Go SDK v7.x)
|
||||
===============
|
||||
|
||||
[](https://travis-ci.org/qiniu/api.v7) [](https://godoc.org/qiniupkg.com/api.v7)
|
||||
[](https://travis-ci.org/qiniu/api.v7) [](https://godoc.org/github.com/qiniu/api.v7)
|
||||
|
||||
[](http://qiniu.com/)
|
||||
|
||||
# 下载
|
||||
|
||||
```
|
||||
go get -u qiniupkg.com/api.v7
|
||||
go get -u github.com/qiniu/api.v7
|
||||
```
|
||||
如果碰到golang.org/x/net/context 不能下载,请把 http://devtools.qiniu.com/golang.org.x.net.context.tgz 下载到代码目录下并解压到src目录,或者直接下载全部 http://devtools.qiniu.com/qiniu_api_v7.tgz。
|
||||
|
||||
@@ -16,10 +16,10 @@ go get -u qiniupkg.com/api.v7
|
||||
|
||||
## KODO Blob Storage (七牛对象存储)
|
||||
|
||||
* [qiniupkg.com/api.v7/kodo](http://godoc.org/qiniupkg.com/api.v7/kodo)
|
||||
* [qiniupkg.com/api.v7/kodocli](http://godoc.org/qiniupkg.com/api.v7/kodocli)
|
||||
* [github.com/qiniu/api.v7/kodo](http://godoc.org/github.com/qiniu/api.v7/kodo)
|
||||
* [github.com/qiniu/api.v7/kodocli](http://godoc.org/github.com/qiniu/api.v7/kodocli)
|
||||
|
||||
如果您是在业务服务器(服务器端)调用七牛云存储的服务,请使用 [qiniupkg.com/api.v7/kodo](http://godoc.org/qiniupkg.com/api.v7/kodo)。
|
||||
如果您是在业务服务器(服务器端)调用七牛云存储的服务,请使用 [github.com/qiniu/api.v7/kodo](http://godoc.org/github.com/qiniu/api.v7/kodo)。
|
||||
|
||||
如果您是在客户端(比如:Android/iOS 设备、Windows/Mac/Linux 桌面环境)调用七牛云存储的服务,请使用 [qiniupkg.com/api.v7/kodocli](http://godoc.org/qiniupkg.com/api.v7/kodocli)。注意,在这种场合下您不应该在任何地方配置 AccessKey/SecretKey。泄露 AccessKey/SecretKey 如同泄露您的用户名/密码一样十分危险,会影响您的数据安全。
|
||||
如果您是在客户端(比如:Android/iOS 设备、Windows/Mac/Linux 桌面环境)调用七牛云存储的服务,请使用 [github.com/qiniu/api.v7/kodocli](http://godoc.org/github.com/qiniu/api.v7/kodocli)。注意,在这种场合下您不应该在任何地方配置 AccessKey/SecretKey。泄露 AccessKey/SecretKey 如同泄露您的用户名/密码一样十分危险,会影响您的数据安全。
|
||||
|
||||
|
||||
8
vendor/qiniupkg.com/api.v7/api/api.go
generated
vendored
8
vendor/qiniupkg.com/api.v7/api/api.go
generated
vendored
@@ -1,13 +1,11 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
. "context"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
|
||||
"sync"
|
||||
|
||||
. "golang.org/x/net/context"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
)
|
||||
|
||||
const DefaultApiHost string = "http://uc.qbox.me"
|
||||
|
||||
4
vendor/qiniupkg.com/api.v7/auth/qbox/qbox_auth.go
generated
vendored
4
vendor/qiniupkg.com/api.v7/auth/qbox/qbox_auth.go
generated
vendored
@@ -7,8 +7,8 @@ import (
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
. "qiniupkg.com/api.v7/conf"
|
||||
"qiniupkg.com/x/bytes.v7/seekable"
|
||||
. "github.com/qiniu/api.v7/conf"
|
||||
"github.com/qiniu/x/bytes.v7/seekable"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
4
vendor/qiniupkg.com/api.v7/cdn/api.go
generated
vendored
4
vendor/qiniupkg.com/api.v7/cdn/api.go
generated
vendored
@@ -8,8 +8,8 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"qiniupkg.com/api.v7/auth/qbox"
|
||||
. "qiniupkg.com/api.v7/conf"
|
||||
"github.com/qiniu/api.v7/auth/qbox"
|
||||
. "github.com/qiniu/api.v7/conf"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
2
vendor/qiniupkg.com/api.v7/cdn/api_test.go
generated
vendored
2
vendor/qiniupkg.com/api.v7/cdn/api_test.go
generated
vendored
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
"time"
|
||||
|
||||
"qiniupkg.com/api.v7/kodo"
|
||||
"github.com/qiniu/api.v7/kodo"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
8
vendor/qiniupkg.com/api.v7/cdn/doc.go
generated
vendored
8
vendor/qiniupkg.com/api.v7/cdn/doc.go
generated
vendored
@@ -1,21 +1,21 @@
|
||||
/*
|
||||
包qiniupkg.com/api.v7/fusion提供了七牛CDN的API功能
|
||||
包 github.com/qiniu/api.v7/cdn 提供了七牛CDN的API功能
|
||||
首先,我们要配置下 AccessKey/SecretKey,
|
||||
import "qiniupkg.com/api.v7/kodo"
|
||||
import "github.com/qiniu/api.v7/kodo"
|
||||
|
||||
kodo.SetMac("ak", "sk")
|
||||
设置了AccessKey/SecretKey 就可以使用cdn的各类功能
|
||||
|
||||
比如我们要生成一个带时间戳防盗链的链接:
|
||||
q :=url.Values{}// url.Values 请求参数
|
||||
link, err := cdn.CreateTimestampAntiLeechUrl("http://www.qiniu.com", "abc/bcc/aa-s.mp4", nil, "encryptedkey", 20)
|
||||
link, err := cdn.CreateTimestampAntileechURL(""http://www.qiniu.com/abc/bcc/aa-s.mp4?x=2&y=3", "encryptedkey", 20)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println(link)
|
||||
|
||||
又或者我们要列出CDN日志及其下载地址:
|
||||
resp, err := cdn.GetLogOfDomain("2016-12-26", "x-mas.com")
|
||||
resp, err := cdn.GetCdnLogList("2016-12-26", "x-mas.com")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
2
vendor/qiniupkg.com/api.v7/cdn/logs.go
generated
vendored
2
vendor/qiniupkg.com/api.v7/cdn/logs.go
generated
vendored
@@ -7,7 +7,7 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"qiniupkg.com/api.v7/auth/qbox"
|
||||
"github.com/qiniu/api.v7/auth/qbox"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
2
vendor/qiniupkg.com/api.v7/cdn/logs_test.go
generated
vendored
2
vendor/qiniupkg.com/api.v7/cdn/logs_test.go
generated
vendored
@@ -5,7 +5,7 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"qiniupkg.com/api.v7/kodo"
|
||||
"github.com/qiniu/api.v7/kodo"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
||||
5
vendor/qiniupkg.com/api.v7/conf/conf.go
generated
vendored
5
vendor/qiniupkg.com/api.v7/conf/conf.go
generated
vendored
@@ -5,8 +5,8 @@ import (
|
||||
"runtime"
|
||||
"syscall"
|
||||
|
||||
"qiniupkg.com/x/ctype.v7"
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
"github.com/qiniu/x/ctype.v7"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
)
|
||||
|
||||
var version = "7.1.0"
|
||||
@@ -36,4 +36,3 @@ func init() {
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
|
||||
2
vendor/qiniupkg.com/api.v7/conf/conf_test.go
generated
vendored
2
vendor/qiniupkg.com/api.v7/conf/conf_test.go
generated
vendored
@@ -4,7 +4,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
)
|
||||
|
||||
func TestUA(t *testing.T) {
|
||||
|
||||
20
vendor/qiniupkg.com/api.v7/doc.go
generated
vendored
20
vendor/qiniupkg.com/api.v7/doc.go
generated
vendored
@@ -1,23 +1,23 @@
|
||||
/*
|
||||
包 qiniupkg.com/api.v7 是七牛 Go 语言 SDK v7.x 版本
|
||||
包 github.com/qiniu/api.v7 是七牛 Go 语言 SDK v7.x 版本
|
||||
|
||||
七牛对象存储,我们取了一个好听的名字,叫 KODO Blob Storage。要使用它,你主要和以下两个包打交道:
|
||||
|
||||
import "qiniupkg.com/api.v7/kodo"
|
||||
import "qiniupkg.com/api.v7/kodocli"
|
||||
import "github.com/qiniu/api.v7/kodo"
|
||||
import "github.com/qiniu/api.v7/kodocli"
|
||||
|
||||
如果您是在业务服务器(服务器端)调用七牛云存储的服务,请使用 qiniupkg.com/api.v7/kodo。
|
||||
如果您是在业务服务器(服务器端)调用七牛云存储的服务,请使用 github.com/qiniu/api.v7/kodo。
|
||||
|
||||
如果您是在客户端(比如:Android/iOS 设备、Windows/Mac/Linux 桌面环境)调用七牛云存储的服务,请使用 qiniupkg.com/api.v7/kodocli。
|
||||
如果您是在客户端(比如:Android/iOS 设备、Windows/Mac/Linux 桌面环境)调用七牛云存储的服务,请使用 github.com/qiniu/api.v7/kodocli。
|
||||
注意,在这种场合下您不应该在任何地方配置 AccessKey/SecretKey。泄露 AccessKey/SecretKey 如同泄露您的用户名/密码一样十分危险,
|
||||
会影响您的数据安全。
|
||||
*/
|
||||
package api
|
||||
|
||||
import (
|
||||
_ "qiniupkg.com/api.v7/auth/qbox"
|
||||
_ "qiniupkg.com/api.v7/conf"
|
||||
_ "qiniupkg.com/api.v7/kodo"
|
||||
_ "qiniupkg.com/api.v7/kodocli"
|
||||
_ "github.com/qiniu/api.v7/auth/qbox"
|
||||
_ "github.com/qiniu/api.v7/cdn"
|
||||
_ "github.com/qiniu/api.v7/conf"
|
||||
_ "github.com/qiniu/api.v7/kodo"
|
||||
_ "github.com/qiniu/api.v7/kodocli"
|
||||
)
|
||||
|
||||
|
||||
159
vendor/qiniupkg.com/api.v7/kodo/bucket.go
generated
vendored
159
vendor/qiniupkg.com/api.v7/kodo/bucket.go
generated
vendored
@@ -1,20 +1,20 @@
|
||||
package kodo
|
||||
|
||||
import (
|
||||
. "context"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/url"
|
||||
"strconv"
|
||||
|
||||
. "golang.org/x/net/context"
|
||||
"qiniupkg.com/api.v7/api"
|
||||
"qiniupkg.com/x/log.v7"
|
||||
"github.com/qiniu/api.v7/api"
|
||||
"github.com/qiniu/x/log.v7"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
// 批量操作。
|
||||
// Batch 批量操作。
|
||||
//
|
||||
func (p *Client) Batch(ctx Context, ret interface{}, op []string) (err error) {
|
||||
|
||||
@@ -29,7 +29,20 @@ type Bucket struct {
|
||||
Name string
|
||||
}
|
||||
|
||||
// 取七牛空间(bucket)的对象实例。
|
||||
// Buckets 获取所有地区的所有空间(bucket)
|
||||
//
|
||||
// shared 是否获取所有授权获得空间,true为包含授权空间
|
||||
//
|
||||
func (p *Client) Buckets(ctx Context, shared bool) (buckets []string, err error) {
|
||||
if shared {
|
||||
err = p.Call(ctx, &buckets, "POST", p.RSHost+"/buckets?shared=trye")
|
||||
} else {
|
||||
err = p.Call(ctx, &buckets, "POST", p.RSHost+"/buckets")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Bucket 取七牛空间(bucket)的对象实例。
|
||||
//
|
||||
// name 是创建该七牛空间(bucket)时采用的名称。
|
||||
//
|
||||
@@ -41,6 +54,7 @@ func (p *Client) Bucket(name string) Bucket {
|
||||
return b
|
||||
}
|
||||
|
||||
// BucketWithSafe 确认空间存在并获取七牛空间(bucket)的对象实例。
|
||||
func (p *Client) BucketWithSafe(name string) (Bucket, error) {
|
||||
var info api.BucketInfo
|
||||
if len(p.UpHosts) == 0 {
|
||||
@@ -56,6 +70,7 @@ func (p *Client) BucketWithSafe(name string) (Bucket, error) {
|
||||
return Bucket{info, p, name}, nil
|
||||
}
|
||||
|
||||
// Entry 资源元信息
|
||||
type Entry struct {
|
||||
Hash string `json:"hash"`
|
||||
Fsize int64 `json:"fsize"`
|
||||
@@ -65,7 +80,7 @@ type Entry struct {
|
||||
EndUser string `json:"endUser"`
|
||||
}
|
||||
|
||||
// 取文件属性。
|
||||
// Stat 取文件属性。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// key 是要访问的文件的访问路径。
|
||||
@@ -75,7 +90,7 @@ func (p Bucket) Stat(ctx Context, key string) (entry Entry, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// 删除一个文件。
|
||||
// Delete 删除一个文件。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// key 是要删除的文件的访问路径。
|
||||
@@ -84,7 +99,7 @@ func (p Bucket) Delete(ctx Context, key string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URIDelete(p.Name, key))
|
||||
}
|
||||
|
||||
// 移动一个文件。
|
||||
// Move 移动一个文件。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// keySrc 是要移动的文件的旧路径。
|
||||
@@ -94,7 +109,7 @@ func (p Bucket) Move(ctx Context, keySrc, keyDest string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URIMove(p.Name, keySrc, p.Name, keyDest))
|
||||
}
|
||||
|
||||
// 跨空间(bucket)移动一个文件。
|
||||
// MoveEx 跨空间(bucket)移动一个文件。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// keySrc 是要移动的文件的旧路径。
|
||||
@@ -105,7 +120,7 @@ func (p Bucket) MoveEx(ctx Context, keySrc, bucketDest, keyDest string) (err err
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URIMove(p.Name, keySrc, bucketDest, keyDest))
|
||||
}
|
||||
|
||||
// 复制一个文件。
|
||||
// Copy 复制一个文件。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// keySrc 是要复制的文件的源路径。
|
||||
@@ -115,7 +130,7 @@ func (p Bucket) Copy(ctx Context, keySrc, keyDest string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URICopy(p.Name, keySrc, p.Name, keyDest))
|
||||
}
|
||||
|
||||
// 修改文件的MIME类型。
|
||||
// ChangeMime 修改文件的MIME类型。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// key 是要修改的文件的访问路径。
|
||||
@@ -125,17 +140,17 @@ func (p Bucket) ChangeMime(ctx Context, key, mime string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URIChangeMime(p.Name, key, mime))
|
||||
}
|
||||
|
||||
// 修改文件的存储类型。
|
||||
// ChangeType 修改文件的存储类型。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// key 是要修改的文件的访问路径。
|
||||
// fileType 是要设置的新存储类型。
|
||||
// fileType 是要设置的新存储类型。0 表示标准存储;1 表示低频存储。
|
||||
//
|
||||
func (p Bucket) ChangeType(ctx Context, key string, fileType int) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URIChangeType(p.Name, key, fileType))
|
||||
}
|
||||
|
||||
// 从网上抓取一个资源并存储到七牛空间(bucket)中。
|
||||
// Fetch 从网上抓取一个资源并存储到七牛空间(bucket)中。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// key 是要存储的文件的访问路径。如果文件已经存在则覆盖。
|
||||
@@ -145,7 +160,7 @@ func (p Bucket) Fetch(ctx Context, key string, url string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.IoHost+uriFetch(p.Name, key, url))
|
||||
}
|
||||
|
||||
// 更新文件生命周期
|
||||
// DeleteAfterDays 更新文件生命周期
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// key 是要更新的文件的访问路径。
|
||||
@@ -155,8 +170,104 @@ func (p Bucket) DeleteAfterDays(ctx Context, key string, days int) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.RSHost+URIDeleteAfterDays(p.Name, key, days))
|
||||
}
|
||||
|
||||
// Image 设置镜像源
|
||||
//
|
||||
// srcSiteURL 镜像源的访问域名。必须设置为形如 `http://source.com/` 或 `http://114.114.114.114/` 的字符串
|
||||
// host 回源时使用的 Host 头部值
|
||||
//
|
||||
// 镜像源地址支持两种格式:
|
||||
// 格式 1:`http(s)://绑定域名/源站资源相对路径`
|
||||
// 格式 2:`http(s)://绑定 IP/源站资源相对路径`
|
||||
//
|
||||
func (p Bucket) Image(ctx Context, srcSiteURL, host string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", "http://pu.qbox.me:10200"+URIImage(p.Name, srcSiteURL, host))
|
||||
}
|
||||
|
||||
// UnImage 取消镜像源
|
||||
//
|
||||
func (p Bucket) UnImage(ctx Context) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", "http://pu.qbox.me:10200"+URIUnImage(p.Name))
|
||||
}
|
||||
|
||||
// Prefetch 镜像资源更新
|
||||
//
|
||||
// key 被抓取资源名称
|
||||
//
|
||||
func (p Bucket) Prefetch(ctx Context, key string) (err error) {
|
||||
return p.Conn.Call(ctx, nil, "POST", p.Conn.IoHost+URIPrefetch(p.Name, key))
|
||||
}
|
||||
|
||||
// PfopResult pfop返回信息
|
||||
type PfopResult struct {
|
||||
PersistentID string `json:"persistentId,omitempty"`
|
||||
}
|
||||
|
||||
// FopRet 持久化云处理结果
|
||||
type FopRet struct {
|
||||
ID string `json:"id"`
|
||||
Code int `json:"code"`
|
||||
Desc string `json:"desc"`
|
||||
InputBucket string `json:"inputBucket,omitempty"`
|
||||
InputKey string `json:"inputKey,omitempty"`
|
||||
Pipeline string `json:"pipeline,omitempty"`
|
||||
Reqid string `json:"reqid,omitempty"`
|
||||
Items []FopResult
|
||||
}
|
||||
|
||||
// FopResult 云处理操作列表,包含每个云处理操作的状态信息
|
||||
type FopResult struct {
|
||||
Cmd string `json:"cmd"`
|
||||
Code int `json:"code"`
|
||||
Desc string `json:"desc"`
|
||||
Error string `json:"error,omitempty"`
|
||||
Hash string `json:"hash,omitempty"`
|
||||
Key string `json:"key,omitempty"`
|
||||
Keys []string `json:"keys,omitempty"`
|
||||
}
|
||||
|
||||
// Pfop 持久化数据处理
|
||||
//
|
||||
// bucket 资源空间
|
||||
// key 源资源名
|
||||
// fops 云处理操作列表,用`;``分隔,如:`avthumb/flv;saveas/cWJ1Y2tldDpxa2V5`,是将上传的视频文件转码成flv格式后存储为 qbucket:qkey ,其中 cWJ1Y2tldDpxa2V5 是 qbucket:qkey 的URL安全的Base64编码结果。
|
||||
// notifyURL 处理结果通知接收 URL,七牛将会向你设置的 URL 发起 Content-Type: application/json 的 POST 请求。
|
||||
// pipeline 为空则表示使用公用队列,处理速度比较慢。建议指定私有队列,转码的时候使用独立的计算资源。
|
||||
// force 强制执行数据处理。当服务端发现 fops 指定的数据处理结果已经存在,那就认为已经处理成功,避免重复处理浪费资源。本字段设为 `true`,则可强制执行数据处理并覆盖原结果。
|
||||
//
|
||||
func (p *Client) Pfop(ctx Context, bucket, key, fops, notifyURL, pipeline string, force bool) (persistentID string, err error) {
|
||||
pfopParams := map[string][]string{
|
||||
"bucket": []string{bucket},
|
||||
"key": []string{key},
|
||||
"fops": []string{fops},
|
||||
}
|
||||
if notifyURL != "" {
|
||||
pfopParams["notifyURL"] = []string{notifyURL}
|
||||
}
|
||||
if pipeline != "" {
|
||||
pfopParams["pipeline"] = []string{pipeline}
|
||||
}
|
||||
if force {
|
||||
pfopParams["force"] = []string{"1"}
|
||||
}
|
||||
var ret PfopResult
|
||||
err = p.CallWithForm(ctx, &ret, "POST", "http://api.qiniu.com/pfop/", pfopParams)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
persistentID = ret.PersistentID
|
||||
return
|
||||
}
|
||||
|
||||
// Prefop 持久化处理状态查询
|
||||
func (p *Client) Prefop(ctx Context, persistentID string) (ret FopRet, err error) {
|
||||
err = p.Call(ctx, &ret, "GET", "http://api.qiniu.com/status/get/prefop?id="+persistentID)
|
||||
return
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
// ListItem List借口返回结果
|
||||
type ListItem struct {
|
||||
Key string `json:"key"`
|
||||
Hash string `json:"hash"`
|
||||
@@ -166,7 +277,7 @@ type ListItem struct {
|
||||
EndUser string `json:"endUser"`
|
||||
}
|
||||
|
||||
// 首次请求,请将 marker 设置为 ""。
|
||||
// List 首次请求,请将 marker 设置为 ""。
|
||||
// 无论 err 值如何,均应该先看 entries 是否有内容。
|
||||
// 如果后续没有更多数据,err 返回 EOF,markerOut 返回 ""(但不通过该特征来判断是否结束)。
|
||||
//
|
||||
@@ -217,6 +328,7 @@ type BatchStatItemRet struct {
|
||||
Code int `json:"code"`
|
||||
}
|
||||
|
||||
// BatchStat 批量取文件属性
|
||||
func (p Bucket) BatchStat(ctx Context, keys ...string) (ret []BatchStatItemRet, err error) {
|
||||
|
||||
b := make([]string, len(keys))
|
||||
@@ -232,6 +344,7 @@ type BatchItemRet struct {
|
||||
Code int `json:"code"`
|
||||
}
|
||||
|
||||
// BatchDelete 批量删除
|
||||
func (p Bucket) BatchDelete(ctx Context, keys ...string) (ret []BatchItemRet, err error) {
|
||||
|
||||
b := make([]string, len(keys))
|
||||
@@ -247,6 +360,7 @@ type KeyPair struct {
|
||||
Dest string
|
||||
}
|
||||
|
||||
// BatchMove 批量移动文件
|
||||
func (p Bucket) BatchMove(ctx Context, entries ...KeyPair) (ret []BatchItemRet, err error) {
|
||||
|
||||
b := make([]string, len(entries))
|
||||
@@ -257,6 +371,7 @@ func (p Bucket) BatchMove(ctx Context, entries ...KeyPair) (ret []BatchItemRet,
|
||||
return
|
||||
}
|
||||
|
||||
// BatchCopy 批量复制文件
|
||||
func (p Bucket) BatchCopy(ctx Context, entries ...KeyPair) (ret []BatchItemRet, err error) {
|
||||
|
||||
b := make([]string, len(entries))
|
||||
@@ -305,4 +420,16 @@ func URIDeleteAfterDays(bucket, key string, days int) string {
|
||||
return fmt.Sprintf("/deleteAfterDays/%s/%d", encodeURI(bucket+":"+key), days)
|
||||
}
|
||||
|
||||
func URIImage(bucket, srcSiteURL, host string) string {
|
||||
return fmt.Sprintf("/image/%s/from/%s/host/%s", bucket, encodeURI(srcSiteURL), encodeURI(host))
|
||||
}
|
||||
|
||||
func URIUnImage(bucket string) string {
|
||||
return fmt.Sprintf("/unimage/%s", bucket)
|
||||
}
|
||||
|
||||
func URIPrefetch(bucket, key string) string {
|
||||
return fmt.Sprintf("/prefetch/%s", encodeURI(bucket+":"+key))
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
4
vendor/qiniupkg.com/api.v7/kodo/doc.go
generated
vendored
4
vendor/qiniupkg.com/api.v7/kodo/doc.go
generated
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
包 qiniupkg.com/api.v7/kodo 提供了在您的业务服务器(服务端)调用七牛云存储服务的能力
|
||||
包 github.com/qiniu/api.v7/kodo 提供了在您的业务服务器(服务端)调用七牛云存储服务的能力
|
||||
|
||||
首先,我们要配置下 AccessKey/SecretKey,这可以在七牛 Portal 中查到:
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
然后我们创建一个 Client 对象:
|
||||
|
||||
zone := 0 // 您空间(Bucket)所在的区域
|
||||
zone := kodo.ZoneZ0 // 您空间(Bucket)所在的区域
|
||||
c := kodo.New(zone, nil) // 用默认配置创建 Client
|
||||
|
||||
有了 Client,你就可以操作您的空间(Bucket)了,比如我们要上传一个文件:
|
||||
|
||||
19
vendor/qiniupkg.com/api.v7/kodo/main.go
generated
vendored
19
vendor/qiniupkg.com/api.v7/kodo/main.go
generated
vendored
@@ -3,10 +3,10 @@ package kodo
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"qiniupkg.com/api.v7/api"
|
||||
"qiniupkg.com/api.v7/auth/qbox"
|
||||
"qiniupkg.com/api.v7/conf"
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
"github.com/qiniu/api.v7/api"
|
||||
"github.com/qiniu/api.v7/auth/qbox"
|
||||
"github.com/qiniu/api.v7/conf"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
@@ -16,6 +16,17 @@ type zoneConfig struct {
|
||||
UpHosts []string
|
||||
}
|
||||
|
||||
const (
|
||||
// ZoneZ0 华东机房
|
||||
ZoneZ0 = iota
|
||||
// ZoneZ1 华北机房
|
||||
ZoneZ1
|
||||
// ZoneZ2 华南机房
|
||||
ZoneZ2
|
||||
// ZoneNa0 北美机房
|
||||
ZoneNa0
|
||||
)
|
||||
|
||||
var zones = []zoneConfig{
|
||||
// z0 华东机房:
|
||||
{
|
||||
|
||||
2
vendor/qiniupkg.com/api.v7/kodo/main_test.go
generated
vendored
2
vendor/qiniupkg.com/api.v7/kodo/main_test.go
generated
vendored
@@ -40,7 +40,7 @@ func newBucket() (bucket Bucket) {
|
||||
|
||||
QINIU_KODO_TEST = os.Getenv("QINIU_KODO_TEST")
|
||||
if skipTest() {
|
||||
println("[INFO] QINIU_KODO_TEST: skipping to test qiniupkg.com/api.v7")
|
||||
println("[INFO] QINIU_KODO_TEST: skipping to test github.com/qiniu/api.v7")
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
6
vendor/qiniupkg.com/api.v7/kodo/token.go
generated
vendored
6
vendor/qiniupkg.com/api.v7/kodo/token.go
generated
vendored
@@ -7,9 +7,9 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"qiniupkg.com/api.v7/api"
|
||||
"qiniupkg.com/api.v7/auth/qbox"
|
||||
"qiniupkg.com/x/url.v7"
|
||||
"github.com/qiniu/api.v7/api"
|
||||
"github.com/qiniu/api.v7/auth/qbox"
|
||||
"github.com/qiniu/x/url.v7"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
23
vendor/qiniupkg.com/api.v7/kodo/upload.go
generated
vendored
23
vendor/qiniupkg.com/api.v7/kodo/upload.go
generated
vendored
@@ -1,13 +1,12 @@
|
||||
package kodo
|
||||
|
||||
import (
|
||||
. "context"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
"qiniupkg.com/api.v7/kodocli"
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
|
||||
. "golang.org/x/net/context"
|
||||
"github.com/qiniu/api.v7/kodocli"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
)
|
||||
|
||||
type PutExtra kodocli.PutExtra
|
||||
@@ -44,7 +43,7 @@ func (p Bucket) makeUploader() kodocli.Uploader {
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
// 上传一个文件。
|
||||
// Put 上传一个文件。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。
|
||||
@@ -61,7 +60,7 @@ func (p Bucket) Put(
|
||||
return uploader.Put(ctx, ret, uptoken, key, data, size, (*kodocli.PutExtra)(extra))
|
||||
}
|
||||
|
||||
// 上传一个文件。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
// PutWithoutKey 上传一个文件。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// ret 是上传成功后返回的数据。返回的是 PutRet 结构。可选,可以传 nil 表示不感兴趣。
|
||||
@@ -77,7 +76,7 @@ func (p Bucket) PutWithoutKey(
|
||||
return uploader.PutWithoutKey(ctx, ret, uptoken, data, size, (*kodocli.PutExtra)(extra))
|
||||
}
|
||||
|
||||
// 上传一个文件。
|
||||
// PutFile 上传一个文件。
|
||||
// 和 Put 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.Reader 来访问。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
@@ -93,7 +92,7 @@ func (p Bucket) PutFile(
|
||||
return uploader.PutFile(ctx, ret, uptoken, key, localFile, (*kodocli.PutExtra)(extra))
|
||||
}
|
||||
|
||||
// 上传一个文件。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
// PutFileWithoutKey 上传一个文件。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
// 和 PutWithoutKey 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.Reader 来访问。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
@@ -111,7 +110,7 @@ func (p Bucket) PutFileWithoutKey(
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
// 上传一个文件,支持断点续传和分块上传。
|
||||
// Rput 上传一个文件,支持断点续传和分块上传。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。
|
||||
@@ -128,7 +127,7 @@ func (p Bucket) Rput(
|
||||
return uploader.Rput(ctx, ret, uptoken, key, data, size, (*kodocli.RputExtra)(extra))
|
||||
}
|
||||
|
||||
// 上传一个文件,支持断点续传和分块上传。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
// RputWithoutKey 上传一个文件,支持断点续传和分块上传。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
// ret 是上传成功后返回的数据。如果 uptoken 中没有设置 CallbackUrl 或 ReturnBody,那么返回的数据结构是 PutRet 结构。
|
||||
@@ -144,7 +143,7 @@ func (p Bucket) RputWithoutKey(
|
||||
return uploader.RputWithoutKey(ctx, ret, uptoken, data, size, (*kodocli.RputExtra)(extra))
|
||||
}
|
||||
|
||||
// 上传一个文件,支持断点续传和分块上传。
|
||||
// RputFile 上传一个文件,支持断点续传和分块上传。
|
||||
// 和 Rput 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.ReaderAt 来访问。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
@@ -161,7 +160,7 @@ func (p Bucket) RputFile(
|
||||
return uploader.RputFile(ctx, ret, uptoken, key, localFile, (*kodocli.RputExtra)(extra))
|
||||
}
|
||||
|
||||
// 上传一个文件,支持断点续传和分块上传。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
// RputFileWithoutKey 上传一个文件,支持断点续传和分块上传。自动以文件的 hash 作为文件的访问路径(key)。
|
||||
// 和 RputWithoutKey 不同的只是一个通过提供文件路径来访问文件内容,一个通过 io.ReaderAt 来访问。
|
||||
//
|
||||
// ctx 是请求的上下文。
|
||||
|
||||
6
vendor/qiniupkg.com/api.v7/kodocli/doc.go
generated
vendored
6
vendor/qiniupkg.com/api.v7/kodocli/doc.go
generated
vendored
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
包 qiniupkg.com/api.v7/kodocli 提供了在客户端调用七牛云存储部分服务的能力
|
||||
包 github.com/qiniu/api.v7/kodocli 提供了在客户端调用七牛云存储部分服务的能力
|
||||
|
||||
客户端,严谨说是非可信环境,主要是指在用户端执行的环境,比如:Android/iOS 设备、Windows/Mac/Linux 桌面环境、也包括浏览器(如果浏览器能够执行 Go 语言代码的话)。
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
第一个问题是如何上传文件。因为是在非可信环境,所以我们首先是要授予它有上传文件的能力。答案是给它颁发上传凭证。假设服务端也是 Go 语言,那么:
|
||||
|
||||
import "qiniupkg.com/api.v7/kodo"
|
||||
import "github.com/qiniu/api.v7/kodo"
|
||||
|
||||
kodo.SetMac("your-access-key", "your-secret-key") // 配置 AccessKey/SecretKey
|
||||
|
||||
zone := 0
|
||||
zone := kodo.ZoneZ0
|
||||
c := kodo.New(zone, nil) // 创建一个 Client 对象
|
||||
|
||||
bucket := "your-bucket-name"
|
||||
|
||||
8
vendor/qiniupkg.com/api.v7/kodocli/main.go
generated
vendored
8
vendor/qiniupkg.com/api.v7/kodocli/main.go
generated
vendored
@@ -3,10 +3,10 @@ package kodocli
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"qiniupkg.com/api.v7/api"
|
||||
"qiniupkg.com/api.v7/conf"
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
"qiniupkg.com/x/url.v7"
|
||||
"github.com/qiniu/api.v7/api"
|
||||
"github.com/qiniu/api.v7/conf"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
"github.com/qiniu/x/url.v7"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
5
vendor/qiniupkg.com/api.v7/kodocli/resumable.go
generated
vendored
5
vendor/qiniupkg.com/api.v7/kodocli/resumable.go
generated
vendored
@@ -1,6 +1,7 @@
|
||||
package kodocli
|
||||
|
||||
import (
|
||||
. "context"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
@@ -9,9 +10,7 @@ import (
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"qiniupkg.com/x/xlog.v7"
|
||||
|
||||
. "golang.org/x/net/context"
|
||||
"github.com/qiniu/x/xlog.v7"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
9
vendor/qiniupkg.com/api.v7/kodocli/resumable_base.go
generated
vendored
9
vendor/qiniupkg.com/api.v7/kodocli/resumable_base.go
generated
vendored
@@ -1,6 +1,7 @@
|
||||
package kodocli
|
||||
|
||||
import (
|
||||
. "context"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"hash/crc32"
|
||||
@@ -8,11 +9,9 @@ import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"qiniupkg.com/x/bytes.v7"
|
||||
"qiniupkg.com/x/rpc.v7"
|
||||
"qiniupkg.com/x/xlog.v7"
|
||||
|
||||
. "golang.org/x/net/context"
|
||||
"github.com/qiniu/x/bytes.v7"
|
||||
"github.com/qiniu/x/rpc.v7"
|
||||
"github.com/qiniu/x/xlog.v7"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
3
vendor/qiniupkg.com/api.v7/kodocli/upload.go
generated
vendored
3
vendor/qiniupkg.com/api.v7/kodocli/upload.go
generated
vendored
@@ -2,6 +2,7 @@ package kodocli
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
. "context"
|
||||
"fmt"
|
||||
"hash/crc32"
|
||||
"io"
|
||||
@@ -12,8 +13,6 @@ import (
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
. "golang.org/x/net/context"
|
||||
)
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user