Azion Edge Purge Client provides a simple interface to interact with the Azion Edge Cache Purge API, allowing you to purge URLs, Cache Keys, and Wildcard expressions from the cache. This client is configurable and supports both debug mode and environment variable-based configuration.
Install the package using npm or yarn:
npm install azion
or
yarn add azion
You can configure the client using the following environment variables:
AZION_TOKEN
: Your Azion API token.AZION_DEBUG
: Enable debug mode (true/false).
Example .env
file:
AZION_TOKEN=your-api-token
AZION_DEBUG=true
Debug mode provides detailed logging of the API requests and responses. You can enable debug mode by setting the AZION_DEBUG
environment variable to true
or by passing true
as the debug
parameter in the methods.
You can use the environment variables to configure the client without passing the token and debug parameters directly.
You can use the provided wrapper methods to perform cache purge operations directly.
You can create a client instance with specific configurations.
JavaScript:
import { purgeURL } from 'azion/purge';
const url = ['http://www.domain.com/path/image.jpg'];
const { data: response, error } = await purgeURL(url, { debug: true });
if (response) {
console.log('Purge successful:', response);
} else {
console.error('Purge failed', error);
}
TypeScript:
import { purgeURL } from 'azion/purge';
import type { AzionPurgeResponse, AzionPurge } from 'azion/purge';
const url: string[] = ['http://www.domain.com/path/image.jpg'];
const { data: response, error }: AzionPurgeResponse<AzionPurge> = await purgeURL(url, { debug: true });
if (response) {
console.log('Purge successful:', response);
} else {
console.error('Purge failed', error);
}
JavaScript:
import { purgeCacheKey } from 'azion/purge';
const cacheKey = ['http://www.domain.com/path/image.jpg'];
const { data: response, error } = await purgeCacheKey(cacheKey, { debug: true });
if (response) {
console.log('Purge successful:', response);
} else {
console.error('Purge failed', error);
}
TypeScript:
import { purgeCacheKey } from 'azion/purge';
import type { AzionPurgeResponse, AzionPurge } from 'azion/purge';
const cacheKey: string[] = ['http://www.domain.com/path/image.jpg'];
const { data: response, error }: AzionPurgeResponse<AzionPurge> = await purgeCacheKey(cacheKey, { debug: true });
if (response) {
console.log('Purge successful:', response);
} else {
console.error('Purge failed', error);
}
JavaScript:
import { purgeWildCard } from 'azion/purge';
const wildcard = ['http://www.domain.com/path/image.jpg*'];
const { data: response, error } = await purgeWildCard(wildcard, { debug: true });
if (response) {
console.log('Purge successful:', response);
} else {
console.error('Purge failed', error);
}
TypeScript:
import { purgeWildCard } from 'azion/purge';
import type { AzionPurgeResponse, AzionPurge } from 'azion/purge';
const wildcard: string[] = ['http://www.domain.com/path/image.jpg*'];
const { data: response, error }: AzionPurgeResponse<AzionPurge> = await purgeWildCard(wildcard, { debug: true });
if (response) {
console.log('Purge successful:', response);
} else {
console.error('Purge failed', error);
}
JavaScript:
import { createClient } from 'azion/purge';
const client = createClient({ token: 'your-api-token', options: { debug: true } });
const { data: purgeURLResponse } = await client.purgeURL(['http://www.domain.com/path/image.jpg']);
if (purgeURLResponse) {
console.log('Purge successful:', purgeURLResponse);
} else {
console.error('Purge failed', error);
}
const { data: purgeCacheKeyResponse } = await client.purgeCacheKey(['http://www.domain.com/path/image.jpg']);
if (purgeCacheKeyResponse) {
console.log('Purge successful:', purgeCacheKeyResponse);
} else {
console.error('Purge failed', error);
}
const { data: purgeWildCardResponse } = await client.purgeWildCard(['http://www.domain.com/path/image.jpg*']);
if (purgeWildCardResponse) {
console.log('Purge successful:', purgeWildCardResponse);
} else {
console.error('Purge failed', error);
}
TypeScript:
import { createClient } from 'azion/purge';
import type { AzionPurgeClient, AzionPurgeResponse, AzionPurge } from 'azion/purge';
const client: AzionPurgeClient = createClient({ token: 'your-api-token', options: { debug: true } });
const { data: purgeURLResponse, error }: AzionPurgeResponse<AzionPurge> = await client.purgeURL([
'http://www.domain.com/path/image.jpg',
]);
if (purgeURLResponse) {
console.log('Purge successful:', purgeURLResponse);
} else {
console.error('Purge failed', error);
}
const { data: purgeCacheKeyResponse, error }: AzionPurgeResponse<AzionPurge> = await client.purgeCacheKey([
'http://www.domain.com/path/image.jpg',
]);
if (purgeCacheKeyResponse) {
console.log('Purge successful:', purgeCacheKeyResponse);
} else {
console.error('Purge failed', error);
}
const { data: purgeWildCardResponse, error }: AzionPurgeResponse<AzionPurge> = await client.purgeWildCard([
'http://www.domain.com/path/image.jpg*',
]);
if (purgeWildCardResponse) {
console.log('Purge successful:', purgeWildCardResponse);
} else {
console.error('Purge failed', error);
}
Purge a URL from the Azion Edge cache.
Parameters:
url: string[]
- URL(s) to purge.options?: AzionClientOptions
- Client options including debug mode.
Returns:
Promise<AzionPurgeResponse<AzionPurge>>
- The purge response or error if the purge failed.
Purge a Cache Key from the Azion Edge cache.
Parameters:
cacheKey: string[]
- Cache Key(s) to purge.options?: AzionClientOptions
- Client options including debug mode.
Returns:
Promise<AzionPurgeResponse<AzionPurge>>
- The purge response or error if the purge failed.
Purge using a wildcard expression from the Azion Edge cache.
Parameters:
wildcard: string[]
- Wildcard expression(s) to purge.options?: AzionClientOptions
- Client options including debug mode.
Returns:
Promise<AzionPurgeResponse<AzionPurge>>
- The purge response or error if the purge failed.
Creates a Purge client with methods to interact with Azion Edge Purge.
Parameters:
config?: ClientConfig
- Configuration options for the Purge client.
Returns:
PurgeClient
- An object with methods to interact with Purge.
Configuration options for the Purge client.
token?: string
- Your Azion API token.options?: AzionClientOptions
- Additional options for the client.
An object with methods to interact with Purge.
purgeURL: (urls: string[], options?: AzionClientOptions) => Promise<AzionPurgeResponse<AzionPurge>>
purgeCacheKey: (cacheKeys: string[], options?: AzionClientOptions) => Promise<AzionPurgeResponse<AzionPurge>>
purgeWildCard: (wildcards: string[], options?: AzionClientOptions) => Promise<AzionPurgeResponse<AzionPurge>>
The response object from a purge request.
state: 'executed' | 'pending'
- The state of the purge request.items: string[]
- The items that were purged.
Feel free to submit issues or pull requests to improve the functionality or documentation.