Cloudflare Workers - Events

Simply put, events are the things that trigger your functions to run.

If you are using Cloudflare Workers as your provider, all events in the service are HTTP Events, because that is the only event that Cloudflare Workers currently support.

# serverless.yml


functions:
  helloWorld:
    # What the script will be called on Cloudflare (this property value must match the function name one line above)
    name: helloWorld
    # The name of the script on your machine, omitting the .js file extension
    script: helloWorld
    # If you would like to develop using multiple scripts or libraries, you can automatically bundle with a simple predefined configuration.
    webpack: true
    events:
      - http:
          url: example.com/hello/user
          # Defines the method used by serverless when the `invoke` command is used. Cloudflare Workers only support GET requests for now
          method: GET
          headers:
            greeting: hi

Then serverless invoke -f helloWorld will make a GET request to example.com/hello/user with a header called greeting that has a value of hi.

Webpack

The webpack option under functions will automatically bundle the function if set to "true". This allows you to easily use multiple scripts or libraries and not worry about a complicated build pipeline.

For example

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
});

import hello from './includeMe';

async function handleRequest(request) {
  return new Response(hello.hello())
}

If your handler script looks like the above, the includeMe script will be packed into the final script on deployment.

View the Cloudflare Workers events section for more information on HTTP events.

Edit this page

Cloudflare Workers - Events

Simply put, events are the things that trigger your functions to run.

If you are using Cloudflare Workers as your provider, all events in the service are HTTP Events, because that is the only event that Cloudflare Workers currently support.

# serverless.yml


functions:
  helloWorld:
    # What the script will be called on Cloudflare (this property value must match the function name one line above)
    name: helloWorld
    # The name of the script on your machine, omitting the .js file extension
    script: helloWorld
    # If you would like to develop using multiple scripts or libraries, you can automatically bundle with a simple predefined configuration.
    webpack: true
    events:
      - http:
          url: example.com/hello/user
          # Defines the method used by serverless when the `invoke` command is used. Cloudflare Workers only support GET requests for now
          method: GET
          headers:
            greeting: hi

Then serverless invoke -f helloWorld will make a GET request to example.com/hello/user with a header called greeting that has a value of hi.

Webpack

The webpack option under functions will automatically bundle the function if set to "true". This allows you to easily use multiple scripts or libraries and not worry about a complicated build pipeline.

For example

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
});

import hello from './includeMe';

async function handleRequest(request) {
  return new Response(hello.hello())
}

If your handler script looks like the above, the includeMe script will be packed into the final script on deployment.

View the Cloudflare Workers events section for more information on HTTP events.