azion
Version:
Azion Packages for Edge Computing.
135 lines (102 loc) • 3.72 kB
TypeScript
import { AzionBuildPreset } from 'azion/config';
export declare const angular: AzionBuildPreset;
export declare const astro: AzionBuildPreset;
/**
* Base context for Azion handlers.
* Provides common functionality like waitUntil for background tasks.
*/
export declare interface AzionBaseContext {
waitUntil: (promise: Promise<unknown>) => void;
respondWith: (response: Response | Promise<Response>) => void;
}
/**
* Standard Azion handler interface.
* Used for regular request handling with fetch event.
*/
export declare interface AzionFetchHandler {
fetch: (request: AzionRequest, ctx: AzionBaseContext, env?: null) => Promise<Response>;
}
/**
* Firewall-specific context for Azion handlers.
* Extends the base context with firewall-specific actions.
*/
export declare interface AzionFirewallContext extends AzionBaseContext {
deny: () => void;
continue: () => void;
drop: () => void;
addRequestHeader: (name: string, value: string) => void;
addResponseHeader: (name: string, value: string) => void;
}
/**
* Firewall-specific handler interface.
* Used for firewall rule processing.
*/
export declare interface AzionFirewallHandler {
firewall: (request: AzionRequest, ctx: AzionFirewallContext, env?: null) => Promise<Response>;
}
/**
* Extended Request interface with Azion metadata
*/
export declare interface AzionRequest extends Request {
metadata: AzionRequestMetadata;
}
/**
* Request metadata interface
*/
export declare interface AzionRequestMetadata {
geoip_asn: string;
geoip_city: string;
geoip_city_continent_code: string;
geoip_city_country_code: string;
geoip_city_country_name: string;
geoip_continent_code: string;
geoip_country_code: string;
geoip_country_name: string;
geoip_region: string;
geoip_region_name: string;
remote_addr: string;
remote_port: string;
remote_user: string;
server_protocol: string;
server_fingerprint: string;
server_fingerprint_ja4h: string;
ssl_cipher: string;
ssl_protocol: string;
client_fingerprint: string;
client_id: string;
configuration_id: string;
edge_connector_id: string;
function_id: string;
http_ssl_ja4: string;
request_id: string;
solution_id: string;
[key: string]: string;
}
/**
* Union type representing any valid Azion worker.
* Can be either a standard handler or a firewall handler.
*/
export declare type AzionWorker = AzionFetchHandler | AzionFirewallHandler;
export declare const docusaurus: AzionBuildPreset;
export declare const eleventy: AzionBuildPreset;
export declare const emscripten: AzionBuildPreset;
export declare const gatsby: AzionBuildPreset;
export declare const hexo: AzionBuildPreset;
export declare const html: AzionBuildPreset;
export declare const hugo: AzionBuildPreset;
export declare const javascript: AzionBuildPreset;
export declare const jekyll: AzionBuildPreset;
export declare const next: AzionBuildPreset;
export declare const nuxt: AzionBuildPreset;
export declare const opennextjs: AzionBuildPreset;
export declare const preact: AzionBuildPreset;
export declare const qwik: AzionBuildPreset;
export declare const react: AzionBuildPreset;
export declare const rustwasm: AzionBuildPreset;
export declare const stencil: AzionBuildPreset;
export declare const svelte: AzionBuildPreset;
export declare const typescript: AzionBuildPreset;
export declare const vitepress: AzionBuildPreset;
export declare const vue: AzionBuildPreset;
export declare const vuepress: AzionBuildPreset;
export { }