api_cloudflare_client
TypeScript icon, indicating that this package has built-in type declarations

3.3.0 • Public • Published

Cloudflare Node.js bindings

Stability Stable Coverage Status NPM version Libraries.io Dependencies NPM downloads

Cloudflare v4 API bindings for Node.js, providing a sourdough "BREAD" (Browse, Read, Edit, Add, and Delete) interface.

With these bindings, you'll get the following features:

  • A Promise-based API. With modern versions of Node.js, this can be leveraged for async/await and generator support.
  • Automatic handling of Gzip/Deflate compression.

Node.js v12 and greater are supported.

Configuration

API Keys

Set your account email address and API key. The API key can be found on the My Profile -> API Tokens page in the Cloudflare dashboard.

const cfInstance = require('api_cloudflare_client')({
  email: 'you@example.com',
  key: 'your Cloudflare API key'
});
import Cloudflare from 'api_cloudflare_client'


export default class CloudflareController {
  constructor(private config: ConfigurationsController) {
    this.config = config
  }

  async cloudflareInstance(): Promise<Cloudflare> {
    const email = await this.config.get('cf.X-Auth-Email')
    const key = await this.config.get('cf.X-Auth-Key')
    // console.log(email, key)
    if (typeof key !== 'string' || typeof email !== 'string')
      throw new Error('Cloudflare credentials not found')
    return new Cloudflare({email: email, key: key})
  }
}

API Tokens (BETA)

Create your token on the My Profile -> API Tokens page in the Cloudflare dashboard.

javascript
const cfInstance = require('api_cloudflare_client')({
  token: 'your Cloudflare API token'
});

API Overview

Every resource is accessed via your cfInstance instance:

// cf.{ RESOURCE_NAME }.{ METHOD_NAME }

Every resource method returns a promise, which can be chained or used with async/await.

cfInstance.zones.read('023e105f4ecef8ad9ca31a8372d0c353'

Readme

Keywords

Package Sidebar

Install

npm i api_cloudflare_client

Weekly Downloads

0

Version

3.3.0

License

MIT

Unpacked Size

83.8 kB

Total Files

28

Last publish

Collaborators

  • kychu