node-upyun-legacy
upyun sdk for node.js (legacy)
NOTE, this package has been moved to upyun-classic
NOTE, this package has been moved to upyun-classic
NOTE, this package has been moved to upyun-classic
Install
$ npm install upyun-legacy --save
Example
var UPYUN = ; var upyun = 'testbucket' 'operatername' 'operaterpwd' 'v0'; upyun
Response
In this SDK, every api will return a response in the format:
Normal
statusCode: 200 // http status code headers: server: 'nginx/1.1.19' date: 'Wed, 13 Aug 2014 02:15:27 GMT' 'content-type': 'application/json' 'content-length': '24' connection: 'close' // response header data: space: 2501 // response body
Error catch
When an error occured, the error will be catched, and returned in the response
statusCode: 401 // http status code error: error_code: 401 request_id: '9e7ce1bac4870ce5f066dd8775fda6b9' message: '<h1>401 Unauthorized</h1>Sign error (sign = md5(METHOD&URI&DATE&CONTENT_LENGTH&MD5(PASSWORD)))' // error message headers: server: 'nginx/1.1.19' date: 'Wed, 13 Aug 2014 02:19:07 GMT' 'content-type': 'application/json' 'content-length': '145' connection: 'close' 'www-authenticate': 'Basic realm="UpYun"' // response header
The different between these two responses is the error
and body
.
All responses contain http status code and raw response header for futher usage.
Docs
API
Utils
API ### getUsage(callback) To get how many quota has been used.(Unit:`Byte`)
response eg.
statusCode: 200 headers: ... data: space: '660612'
### listDir(remotePath, callback) Get the file list of that dir. The response contains each item's type(file or dir), size(unit: `Byte`), last modify time.
Arguments
remotePath
The dir path which you want to traverse.
response eg.
"statusCode": 200 "headers": ... "data": "location": "/" "files": "name": "test_manual" "type": "folder" "length": "0" "last_modified": "1411701197" "name": "dir" "type": "file" "length": "0" "last_modified": "1411546581"
### createDir(remotePath, callback) Create a new dir in UPYUN bucket.
Arguments
remotePath
The dir path which you want to create.
### removeDir(remotePath, callback) Delete a dir
remotePath
The dir path which you want to remove.
### uploadFile(remotePath, localFile, type, [checksum], [opts], callback) Upload a file into UPYUN bucket.
Arguments
remotePath
Where the file will be stored in your UPYUN bucket.localFile
The file you want to upload. It can be apath
string or the file's raw data.type
Specifies the file's content-type.checksum
Settrue
to force SDK send a md5 of local file to UPYUN. Or set a md5value string by yourself.opts
The additional http request headers(JavaScript Object). More detail in Official Docs
statusCode: 200 headers: ... data: width: '400' height: '200' frames: '1' type: 'PNG'
### existsFile(remotePath, callback) `HEAD` a path to detect if there is an file.
Arguments
remotePath
The file's path in your UPYUN bucket.
statusCode: 200 headers: ... data: type: 'file' size: '1075' date: '1407729976'
### downloadFile(remotePath, [localPath], callback) Download a file from UPYUN bucket.
Arguments
remotePath
The file's path in your UPYUN bucket.localPath
Where the file will save to. If nolocalPath
, the file's content will output directly in the response body.
### removeFile(remotePath, callback) Delete a file from UPYUN bucket.
Arguments
remotePath
The file's path in your UPYUN bucket.
Utils ### setEndpoint(endpoint) Use this method to set api endpoint manually.
Arguments
endpoint
The value can be these(leave blank to let sdk auto select the best one):ctcc
orv1
: China Telecomcucc
orv2
: China Unicomcmcc
orv3
China Mobilev0
or any other string: Will usev0.api.upyun.com
(auto detect routing)