diff --git a/CHANGELOG.md b/CHANGELOG.md index d7d0b7d..99622f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # UPYUN Go SDK ChangeLog +## Version v3.0.1 (2021.1.6) + +### features + +1. escape copy/move source key +2. add lint + +## Version v3.0.0 (2020.7.24) + +### features + +1. support go mod + ## Version 2.2.0 (2020.4.1) ### features diff --git a/README.md b/README.md index ba593e1..9657480 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,17 @@ # UPYUN Go SDK -[![Release Version](https://img.shields.io/github/release/upyun/go-sdk.svg)](https://github.com/upyun/go-sdk/releases/latest) -[![Build Status](https://travis-ci.org/upyun/go-sdk.svg?branch=master)](https://travis-ci.org/upyun/go-sdk) +[![API Reference](https://img.shields.io/badge/api-reference-blue.svg)](https://help.upyun.com/docs/storage/) +![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/upyun/go-sdk?label=latest%20release) +![Build](https://github.com/upyun/go-sdk/workflows/Build/badge.svg) +![Lint](https://github.com/upyun/go-sdk/workflows/lint/badge.svg) +![Test](https://github.com/upyun/go-sdk/workflows/test/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/upyun/go-sdk)](https://goreportcard.com/report/github.com/upyun/go-sdk) [![Sourcegraph](https://sourcegraph.com/github.com/upyun/go-sdk/-/badge.svg)](https://sourcegraph.com/github.com/upyun/go-sdk?badge) import "github.com/upyun/go-sdk/v3/upyun/" 又拍云 Go SDK, 集成: + - [又拍云 HTTP REST 接口](http://docs.upyun.com/api/rest_api/) - [又拍云 HTTP FORM 接口](http://docs.upyun.com/api/form_api/) - [又拍云缓存刷新接口](http://docs.upyun.com/api/purge/) @@ -435,5 +439,4 @@ type SyncCommonTask struct { `SyncCommonTask` 提供同步任务所需的参数,适用于 `CommitSyncTasks`。有几点需要注意: - 使用 `p1.api.upyun.com` 同步任务接口,如果没有提供单独的接口,请使用 `SyncCommonTask`。 - `Kwargs` 为请求参数。 -- `TaskUri` 为任务 `uri`,不包括服务名,例如 `/liveaudit/create`。 - +- `TaskUri` 为任务 `uri`,不包括服务名,例如 `/liveaudit/create`。 diff --git a/examples/async_proccess.go b/examples/async_proccess.go index 97d54c3..374e7f6 100644 --- a/examples/async_proccess.go +++ b/examples/async_proccess.go @@ -112,7 +112,7 @@ func jigsawProcess() { // tasks 参考又拍云文档说明 tasks := []interface{}{ map[string]interface{}{ - "image_matrix": [][]string{[]string{SAVE_KEY_IMAGE, SAVE_KEY_IMAGE}, []string{SAVE_KEY_IMAGE, SAVE_KEY_IMAGE}}, + "image_matrix": [][]string{{SAVE_KEY_IMAGE, SAVE_KEY_IMAGE}, {SAVE_KEY_IMAGE, SAVE_KEY_IMAGE}}, "save_as": SAVE_AS_IMAGE, }, } diff --git a/examples/pre_process.go b/examples/pre_process.go index 566d793..19cebd9 100644 --- a/examples/pre_process.go +++ b/examples/pre_process.go @@ -48,7 +48,7 @@ func syncPreProcess(localPath string, saveKey string, options map[string]interfa func imageAsyncPreProcess() { // apps 参考又拍云文档说明 apps := []map[string]interface{}{ - map[string]interface{}{ + { "name": "thumb", "x-gmkerl-thumb": "/format/png", "save_as": SAVE_AS_IMAGE, @@ -64,7 +64,7 @@ func imageAsyncPreProcess() { func videoAsyncPreProcess() { // apps 参考又拍云文档说明 apps := []map[string]interface{}{ - map[string]interface{}{ + { "name": "naga", "type": "video", "avopts": "/s/128x96", @@ -81,7 +81,7 @@ func videoAsyncPreProcess() { func fileConvertAsyncPreProcess() { // apps 参考又拍云文档说明 apps := []map[string]interface{}{ - map[string]interface{}{ + { "name": "uconvert", "save_as": SAVE_AS_DOC, }, @@ -96,7 +96,7 @@ func fileConvertAsyncPreProcess() { func imageAuditAsyncPreProcess() { // apps 参考又拍云文档说明 apps := []map[string]interface{}{ - map[string]interface{}{ + { "name": "imgaudit", }, } @@ -110,7 +110,7 @@ func imageAuditAsyncPreProcess() { func videoAuditAsyncPreProcess() { // apps 参考又拍云文档说明 apps := []map[string]interface{}{ - map[string]interface{}{ + { "name": "videoaudit", }, } diff --git a/examples/user_profile.go b/examples/user_profile.go index 6ff8ec3..17f0a70 100644 --- a/examples/user_profile.go +++ b/examples/user_profile.go @@ -21,57 +21,57 @@ var ( const ( - // 指定的通知URL + // NOTIFY_URL: 指定的通知URL NOTIFY_URL = "" - // 本地图片路径,适用于图片文件上传,预处理 + //LOCAL_IMAGE: 本地图片路径,适用于图片文件上传,预处理 LOCAL_IMAGE = "./sample/sample.jpg" - // 本地视频路径,适用于视频文件上传,预处理 + //LOCAL_VIDEO: 本地视频路径,适用于视频文件上传,预处理 LOCAL_VIDEO = "./sample/sample.mp4" - // 本地文档路径,包括PDF,PPT,WORD,EXCEL,适用于文档文件上传,预处理 + //LOCAL_DOC: 本地文档路径,包括PDF,PPT,WORD,EXCEL,适用于文档文件上传,预处理 LOCAL_DOC = "./sample/sample.pptx" - // 本地音频路径,适用于同步音频处理 + //LOCAL_MP3: 本地音频路径,适用于同步音频处理 LOCAL_MP3 = "./sample/sample.mp3" - // 云存储中保存的图片文件路径,适用于图片相关上传,预处理,图片内容识别 + //SAVE_KEY_IMAGE: 云存储中保存的图片文件路径,适用于图片相关上传,预处理,图片内容识别 SAVE_KEY_IMAGE = "/save_key.jpg" - // 云存储中保存的视频文件路径,适用于视频相关上传,预处理,视频内容识别,同步音视频处理 + //SAVE_KEY_VIDEO: 云存储中保存的视频文件路径,适用于视频相关上传,预处理,视频内容识别,同步音视频处理 SAVE_KEY_VIDEO = "/save_key.mp4" - // 云存储中保存的文档文件路径,适用于文档相关上传,预处理,文档转换 + //SAVE_KEY_DOC: 云存储中保存的文档文件路径,适用于文档相关上传,预处理,文档转换 SAVE_KEY_DOC = "/save_key.pptx" - // 云存储中保存的音频文件路径,适用于同步音视频处理 + //SAVE_KEY_MP3: 云存储中保存的音频文件路径,适用于同步音视频处理 SAVE_KEY_MP3 = "/save_key.mp3" - // 云存储中保存的 M3U8 文件路径,适用于同步音视频处理 + //SAVE_KEY_M3U8: 云存储中保存的 M3U8 文件路径,适用于同步音视频处理 SAVE_KEY_M3U8 = "/save_key.m3u8" - // 云存储中 save_as 参数指定的图片路径,适用于图片相关 + //SAVE_AS_IMAGE: 云存储中 save_as 参数指定的图片路径,适用于图片相关 SAVE_AS_IMAGE = "/save_as.jpg" - // 云存储中 save_as 参数指定的视频路径,适用于视频相关 + //SAVE_AS_VIDEO: 云存储中 save_as 参数指定的视频路径,适用于视频相关 SAVE_AS_VIDEO = "/save_as.mp4" - // 云存储中 save_as 参数指定的文档路径,适用于文档转换 + //SAVE_AS_DOC: 云存储中 save_as 参数指定的文档路径,适用于文档转换 SAVE_AS_DOC = "/save_as" - // 云存储中 save_as 参数指定的压缩文件路径,适用于文件压缩,解压 + //SAVE_AS_ZIP: 云存储中 save_as 参数指定的压缩文件路径,适用于文件压缩,解压 SAVE_AS_ZIP = "/save_as.zip" - // 云存储中目录,适用于文件解压 + //SAVE_AS_DIR: 云存储中目录,适用于文件解压 SAVE_AS_DIR = "/save_as/" - // 云存储中 save_as 参数指定的M3U8文件路径,适用于同步音视频处理 + //SAVE_AS_M3U8: 云存储中 save_as 参数指定的M3U8文件路径,适用于同步音视频处理 SAVE_AS_M3U8 = "/save_as.m3u8" - // 文件URL,适用于文件拉取 + //URL: 文件URL,适用于文件拉取 URL = "http://p07vpkunh.bkt.clouddn.com/aaaaa/image.png" - // RTMP源,适用于内容识别-直播 + //RTMP_SOURCE: RTMP源,适用于内容识别-直播 RTMP_SOURCE = "rtmp://live.hkstv.hk.lxdns.com/live/hks" ) diff --git a/upyun/errors.go b/upyun/errors.go index 10fae98..d8b748f 100644 --- a/upyun/errors.go +++ b/upyun/errors.go @@ -11,7 +11,7 @@ import ( type Error struct { Code int `json:"code"` Message string `json:"msg"` - RequestId string `json:"id"` + RequestID string `json:"id"` Operation string StatusCode int Header http.Header @@ -24,7 +24,7 @@ func (e *Error) Error() string { } return fmt.Sprintf("%s error: status=%d, code=%d, message=%s, request-id=%s", - e.Operation, e.StatusCode, e.Code, e.Message, e.RequestId) + e.Operation, e.StatusCode, e.Code, e.Message, e.RequestID) } func checkResponse(res *http.Response) error { @@ -73,7 +73,6 @@ func errorOperation(op string, err error) error { if ok { ae.Operation = op return ae - } else { - return fmt.Errorf("%s: %w", op, err) } + return fmt.Errorf("%s: %w", op, err) }