buildapi
v0.5.0
Published
Create api access module easily.
Downloads
10
Readme
buildapi
install
npm install buildapi
How
buildapi
has two exports.
import buildapi, { Route } from 'buildapi'
buildapi
This is API builder function.
Route class
Define route extending Route class. In Route class, you can use methods below.
const fileId = 'dkfjaklfjdkfldjsflksdf'
const file = evt.file // File event object.
this.put(
// set endpoint on first argument.
`file/update/${fileId}`,
// you can set post data on second argument.
{ key1: 'value1' },
// you can set multipart/form-data values on third argument.
{ data: file }
)
- get
- post
- put
- delete
- head
- option
- download
Usage
At first, define your routes extending Route
object.
file_route.js
import { Route } from 'buildapi'
const e = encodeURIComponent
export default class File extends Route {
fetchPermissions(id, cursor) {
return this.get(`file/permissions/${e(id)}`, { cursor })
}
download(fileId) {
return this.download(`file/data/${e(fileId)}`)
}
setAttribute(fileId, key, value) {
return this.put(`file/attr/${e(fileId)}/${e(key)}/${e(value)}`)
}
delete(fileId) {
return this.delete(`file/${e(fileId)}`)
}
fetchData(fileId) {
return this.get(`file/data/${e(fileId)}`)
}
fetch(fileId) {
return this.get(`file/${e(fileId)}`)
}
fetchChunk(fileId, chunkId, from, length) {
return this.get(`file/data/${e(fileId)}/${e(chunkId)}/${e(from)}/${e(length)}`)
}
uploadChunk(fileId, chunkIndex, offset, length, file) {
return this.put(`file/data/${e(fileId)}/${e(chunkIndex)}/${e(offset)}/${e(length)}`, {}, { data: file })
}
}
And build your api with buildapi
.
api.js
import buildapi from 'buildapi'
const routes = { File }
module.exports = buildapi({ routes, api: 'https://api.fata.io/v0/' })
And use api.
import API from './api.js'
const api = new API({
// you can override api point.
api: 'staging.server.api'
})
// access to endpoint.
api.file.fetchData('testsetsetset') // return Promise object
.then(res => {
//...
})
.catch(err => {
console.error(err.status)
})
Authorize support
buildapi
supports Oauth token.
const api = new API() // instanciate your api.
api.setToken('fsjdkfjdlkfjdsfklsdjflksdf')
This set request header Authorization section internally.
req.set('Authorization', 'Bearer ' + tokenString)
Author
Yusuke Shibata
Lisense
MIT