api_cloudflare_client
v3.4.2
Published
CloudFlare API client
Downloads
94
Readme
Cloudflare Node.js bindings
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: '[email protected]',
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'