UNPKG

azion

Version:

Azion Packages for Edge Computing.

135 lines (102 loc) 3.72 kB
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 { }