upyun sdk for node.js
MIT License
upyun sdk for node.js (classic)
$ npm install upyun-classic --save
var UPYUN = require('upyun-classic');
var upyun = new UPYUN('testbucket', 'operatorname', 'operatorpwd', 'v0');
upyun.getUsage(function(err, result) {
//...
})
In this SDK, each api will return a response like below:
{
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
}
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 the raw response header for futher usage.
response eg.
{ statusCode: 200,
headers: { ... },
data: { space: '660612' } }
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"
}
]
}
}
Arguments
remotePath
The dir path which you want to create.remotePath
The dir path which you want to remove.Arguments
remotePath
Where the file will be stored in your UPYUN bucket.localFile
The file you want to upload. It can be a path
string or the file's raw data.type
Specifies the file's content-type.checksum
Set true
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'
}
}
Arguments
remotePath
The file's path in your UPYUN bucket.{
statusCode: 200,
headers: { ... },
data: {
type: 'file',
size: '1075',
date: '1407729976'
}
}
Arguments
remotePath
The file's path in your UPYUN bucket.localPath
Where the file will save to. If no localPath
, the file's content will output directly in the response body.Arguments
remotePath
The file's path in your UPYUN bucket.Arguments
endpoint
The value can be these(leave blank to let sdk auto select the best one):
ctcc
or v1
: China Telecomcucc
or v2
: China Unicomcmcc
or v3
China Mobilev0
or any other string: Will use v0.api.upyun.com
(auto detect routing)