EdgeWorkers JavaScript code

Are there code samples to help me get started ?

Yes, for sure! Check out our public GitHub repository that outlines several example use cases for EdgeWorkers.

What JavaScript runtime is used to execute JavaScript code?

EdgeWorkers uses Google's V8 engine for its code execution runtime. It is high-performing, and constantly evolving and improving.

What is the activation time for EdgeWorkers code bundle updates?

Expected activation (propogation) times align with delivery properties at 2-5 minutes on staging, and 8-10 minutes on production. Activations into your developer ​Akamai​ Sandbox tunnel is near real-time.

Which JavaScript libraries can I include in an EdgeWorkers code bundle?

You can use most self-contained JavaScript libraries that:

  • Roll up into a flat .js file.

  • You can include in the local EdgeWorkers code bundle.

  • Do not try to make external calls.

  • Fit within the EdgeWorkers system limits.

You can also review this blog article on how to use rollup to flatten a JavaScript library for use within EdgeWorkers.

When will EdgeWorkers support additional languages?

We selected the V8 runtime because of its native support for JavaScript and WebAssembly (WASM). It also provides a direct path for additional language support in the future. To provide a successful environment for customer developers, we decided to focus on JavaScript, a language that virtually all developers know.

We'll revisit support for other languages, based on customer demand, in our extended roadmap.

Can I re-use request and response headers?

Review these guidelines when copying request and sub-request headers. You can also find information about copying a response from a sub-request and an actual response.

  • Avoid setting the Proxy-Authorization and TE hop-by-hop headers when creating a request.
  • Avoid setting the following hop-by-hop headers for a request or response.
    • Connection
    • Keep-Alive
    • Trailers
    • Transfer-Encoding
  • Do not set or copy the Content-Length header from another request or response. An incorrect value in the Content-Length header will break the response. If you opt to set it anyway, make sure that the value reflects the actual length of the payload you're passing.
  • Do set or copy the Vary header from another response. An incorrect value in the Vary header can break cacheability.
  • Do not set or copy the Host request header from another request. If you opt to set it anyway, you need to make sure that the values are correct. An incorrect value in the Host header can break your request.