This is the main entrypoint of the server. It is used for every server and allow you to run either in serverless mode or as a long running server.
If you want to better understand how to implement your own Wrapper, the easiest way would be to take a look at one of the existing included Wrapper (opens in a new tab).
Couple of things to note :
- If you want to use streaming (for the
node
runtime of next), you'll need to create aStreamCreator
and pass it to thehandler
. You can find some example in the node (opens in a new tab) or aws-lambda-streaming (opens in a new tab) wrapper. - If you don't use streaming (like in the default
aws-lambda
wrapper), you may still need to provide a fakeStreamCreator
to thehandler
to avoid a weird issue with Node itself (see here (opens in a new tab) for an example and a more thorough explanation). - If you use the
edge
runtime of Next (either for the external middleware or for anedge
route or page), you don't need theStreamCreator
at all. - If you are in a serverless environment and it supports
waitUntil
, you should define it here(see here (opens in a new tab)). This might not be necessary depending on where you run it (for example theaws-lambda-streaming
or thenode
wrapper doesn't need it.)
Included Wrappers
aws-lambda
The aws-lambda
Wrapper is the default wrapper for AWS Lambda. It is used by default if you don't provide any Wrapper in your configuration.
Features
- Streaming
- Proper support for
waitUntil
aws-lambda-streaming
The aws-lambda-streaming
Wrapper is a wrapper that allows you to use streaming in AWS Lambda. Streaming must be enabled for this lambda.
Features
- Streaming
- Proper support for
waitUntil
cloudflare-edge
The cloudflare-edge
Wrapper is the wrapper for Cloudflare Workers. It should be used for the external middleware and for the edge
runtime of Next.
Features
- Streaming
- Proper support for
waitUntil
cloudflare-node
The cloudflare-node
Wrapper is the wrapper for Cloudflare Workers. It should be used only with the node
runtime of Next and if you use @opennextjs/cloudflare
.
Features
- Streaming
- Proper support for
waitUntil
node
The node
Wrapper is the wrapper for classic Node.js Server. This one is a long running server.
Features
- Streaming
- Proper support for
waitUntil
express-dev
The express-dev
Wrapper is the wrapper for a classic Express server. It is a long running process and should be used for development purposes only.
Features
- Streaming
- Proper support for
waitUntil
dummy
The dummy
Wrapper is a dummy implementation that will just forward the event and StreamCreator
to the handler.
Features
- Streaming
- Proper support for
waitUntil