Skip to content

API reference

The following methods can be used to configure your Pages Function.

Methods

onRequests

  • onRequest(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all requests no matter the request method.
  • onRequestGet(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all GET requests.
  • onRequestPost(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all POST requests.
  • onRequestPatch(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all PATCH requests.
  • onRequestPut(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all PUT requests.
  • onRequestDelete(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all DELETE requests.
  • onRequestHead(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all HEAD requests.
  • onRequestOptions(contextEventContext) Response | Promise<Response>
    • This function will be invoked on all OPTIONS requests.

env.ASSETS.fetch()

The env.ASSETS.fetch() function allows you to fetch a static asset from your Pages project.

You can pass a Request object, URL string, or URL object to env.ASSETS.fetch() function. The URL must be to the pretty path, not directly to the asset. For example, if you had the path /users/index.html, you will request /users/ instead of /users/index.html. This method call will run the header and redirect rules, modifying the response that is returned.

Types

EventContext

The following are the properties on the context object which are passed through on the onRequest methods:

  • request Request

    This is the incoming Request.

  • functionPath string

    This is the path of the request.

  • waitUntil(promisePromise<any>) void

    Refer to waitUntil documentation for more information.

  • passThroughOnException() void

    Refer to passThroughOnException documentation for more information. Note that this will not work on an advanced mode project.

  • next(input?Request | string, init?RequestInit) Promise<Response>

    Passes the request through to the next Function or to the asset server if no other Function is available.

  • env EnvWithFetch

  • params Params<P>

    Holds the values from dynamic routing.

    In the following example, you have a dynamic path that is /users/[user].js. When you visit the site on /users/nevi the params object would look like:

    {
    user: "nevi"
    }

    This allows you fetch the dynamic value from the path:

    export function onRequest(context) {
    return new Response(`Hello ${context.params.user}`);
    }

    Which would return "Hello nevi".

  • data Data

EnvWithFetch

Holds the environment variables, secrets, and bindings for a Function. This also holds the ASSETS binding which is how you can fallback to the asset-serving behavior.