# boxing

> terrible dropbox api and express middleware

Latest version **0.0.8** (published 2015-05-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install boxing
pnpm add boxing
yarn add boxing
bun add boxing
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.8 |
| Published | 2015-05-30 |
| First published | 2015-05-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Derick Bailey |
| Maintainers | derickbailey |
| Keywords | dropbox, api, client, middleware, wrapper |

## Links

- npm: https://www.npmjs.com/package/boxing
- Repository: https://github.com/derickbailey/boxing
- Issues: https://github.com/derickbailey/boxing/issues
- npm.io page: https://npm.io/package/boxing

## Dependencies (1)

- [underscore](https://npm.io/package/underscore.md) ^1.7.0

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 0.0.8 (latest) — 2015-05-30

## README

# boxing - terrible dropbox api wrapper and express middleware

you're better off not using this, cause i only wrote it to solve my needs

## Express Middleware

```js
var express = require("express");
var boxing = require("boxing");

var app = express();

// configure a session, cause i store the oAuth data
// on the session, after you authorize the app
app.use(session({
  secret: "some secret key",
  resave: false,
  saveUninitialized: true,
  rolling: true
}));

// mount on a path where dropbox authorization will happen
// visit exmaple.com/dropbox/authorize to authorize this web app
// to use your dropbox account.
app.use("/dropbox", boxing.middleware({
  express: express,
  key: myDropboxAppKey,
  secret: myDropboxSecret,
  redirect: "/some-redirect/after-authorizing/dropbox"
}));
```

## Dropbox Client Object

```js
var boxing = require("boxing");

var client = new boxing.Client({
  accessToken: "your oAuth2 access token"
});
```

From here, you can call the dropbox API methods.

### Client#accountInfo

Get the account info for the user

```js
client.accountInfo(function(err, accountInfo){
  // ...
  // returns a JS object literal with account information
});
```

### Client#deltaLatestCursor

Get the latest delta cursor. This can be used to prevent
the full list of all files from coming back, the first time
you call the `delta` method

```js
client.deltaLatestCursor(function(err, deltaCursor){
  // ...
});
```

Be sure to save the cursor result somewhere, so you can use 
this on the next call to the `delta` method.

### Client#delta

Get the latest set of changes, based on the "cursor" that
you pass in. If no cursor is specified, you will receive
notice of everything in the dropbox account.

```js
client.delta("(dropbox delta cursor)", function(err, delta){
  // ...
  // returns a JS object literal w/ delta information
});
```

Be sure to save the `delta.cursor` result somewhere, so you can use 
this on the next call to the `delta` method.

### Client#file

Stream the file contents down from Dropbox

```js
client.file("/some/file.mp3", function(err, fileStream){
  // ...
  // returns a file as a stream, coming straight from dropbox
});
```

### Client#folderExists

Check to see if a specified folder exists.

```js
client.folderExists("/some/folder", function(err, exists){
  // ...
});
```

The `exists` boolean returns true if the specified folder is
found, and is a folder (not a file).

### Client#createFolder

Create a folder in the user's Dropbox. This method assumes
"auto" path root.

```js
client.createFodler("/some/folder", function(err, result){
  // ...
});
```

## legal junk

Copyright &copy;2015 Muted Solutions, LLC.

Distributed under [MIT license](http://mutedsolutions.mit-license.org).

---
_Source: https://npm.io/package/boxing · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
