Skip to content

Runtime APIs

To provide you with the best experience possible, we strive to adhere to the WinterCG requirements.

Request Handler

To serve a dynamic request, you either need to export a function of your choice or listen to fetch events.

export function handler(event: Request) {
return new Response('Hallo Welt!');
}
addEventListener('fetch', (event) => {
event.respondWith(new Response('Hello World!'));
});

Global Objects

Next to the standard built-in objects, we implement the following APIs.

AbortController

AbortSignal

AsyncLocalStorage

atob

Blob

btoa

Buffer

ByteLengthQueuingStrategy

clearInterval

clearTimeout

CompressionStream

console

  • console.log
  • console.trace
  • console.info
  • console.debug
  • console.error
  • console.warn

CountQueuingStrategy

crypto.getRandomValues

crypto.randomUUID

crypto.subtle

Please see the SubtleCrypto interface.

CryptoKey

CryptoKeyPair

CustomEvent

Date (built-in)

DecompressionStream

DOMException

EdgeRuntime

Similar to Vercel, we expose the EdgeRuntime property. You can use it to check if your code is running on an Edge runtime.

Event

EventTarget

fetch

File

FileReader

FormData

Headers

performance

queueMicrotask

ReadableByteStreamController

ReadableStream

ReadableStreamBYOBReader

ReadableStreamBYOBRequest

ReadableStreamDefaultController

ReadableStreamDefaultReader

Request

Response

setInterval

setTimeout

structuredClone

SubtleCrypto

signverifyencryptdecryptdigestderiveBitsderiveKeywrapKeyunwrapKey
RSASSA-PKCS1-v1_5
RSA-PSS
ECDSA
HMAC
RSA-OAEP
AES-CTR
AES-CBC
AES-GCM
SHA-1
SHA-256
SHA-384
SHA-512
ECDH
HKDF
PBKDF2
AES-KW

TextDecoder

TextDecoderStream

TextEncoder

TextEncoderStream

TransformStream

TransformStreamDefaultController

URL

URLPattern

URLSearchParams

WritableStream

WritableStreamDefaultController

WritableStreamDefaultWriter

Node.js compatibility

Available Node.js modules can be imported using the ESM-import syntax.

Assert

Async Hooks

Buffer

Events

Path

Process

Util