Cloudflare Docs
Pages
Edit this page on GitHub
Set theme to dark (⇧+D)

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.