JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 20
  • Score
    100M100P100Q60434F
  • License MIT

upyun sdk for node.js

Package Exports

  • upyun-legacy

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (upyun-legacy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

node-upyun-legacy

NPM version Build status Test coverage

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 = require('upyun-legacy');

var upyun = new UPYUN('testbucket', 'operatername', 'operaterpwd', 'v0');

upyun.getUsage(function(err, result) {
    //...
})

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

 {
     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 no localPath, 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 or v1: China Telecom
    • cucc or v2: China Unicom
    • cmcc or v3 China Mobile
    • v0 or any other string: Will use v0.api.upyun.com (auto detect routing)