Commit graph

11 commits

Author SHA1 Message Date
qwertyforce
2b319ccfd9
update fastify example to the latest version (#27273)
* update fastify example to newest version

* Update examples/custom-server-fastify/server.js

Co-authored-by: Harsh Karande <harshskarande@gmail.com>

* lint-fix

Co-authored-by: Harsh Karande <harshskarande@gmail.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2021-07-19 10:44:38 -05:00
Joe Haddad
86160a5190
Upgrade to Prettier 2 (#13061) 2020-05-18 15:24:37 -04:00
MicrochipQ
ccefab76dd
[examples/custom-server-fastify] Fix ts(2341) (#11844)
* Fix ts(2341)

Property 'handleRequest' is private and only accessible within class 'Server'.ts(2341)

* Update server.js

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
2020-04-13 13:41:38 +02:00
Patrick Dahms
f75c37fcac
Update custom-server-fastify example to not use internal fn (#11040) 2020-03-13 10:53:57 +01:00
Joe Haddad
53f4f82e4c
Catch all requests in custom server (#8704)
Some users aren't aware they need to edit their custom server to support various HTTP Methods (e.g. POST for API Routes).

Instead, we should just handle all HTTP Methods out-of-the-box.

---

Closes #8237
2019-09-11 10:23:41 -04:00
Vincent Grafé
d7856c6698 fixes a few inconsistencies in server routes (#6382)
I spotted a few typos in the server files, that might confuse new/unexperienced users. I hope I did catch them all!
2019-02-21 13:21:22 +01:00
Tim Neutkens
9c4eefcdbf
Add prettier for examples directory (#5909)
* Add prettier for examples directory

* Fix files

* Fix linting

* Add prettier script in case it has to be ran again
2018-12-17 17:34:32 +01:00
Brian Kim
0298c722b1 improve custom-server-fastify example (#4805)
I’ve been experimenting with Next.js and Fastify and I made the following changes to the Fastify example based on what I found:

### Use Fastify’s plugin API
IMO putting Fastify’s listen call in a promise callback is an anti-pattern, b/c the Fastify plugin API is meant to solve the problem of async server bootstrapping.

[From Fastify’s Getting Started docs](https://www.fastify.io/docs/latest/Getting-Started/):
> Fastify provides a foundation that assists with the asynchronous bootstrapping of your application.

### Set reply.sent in handlers which return promises

[From Fastify’s Routes docs](https://www.fastify.io/docs/latest/Routes/#promise-resolution):
> If your handler is an `async` function or returns a promise, you should be aware of a special behaviour which is necessary to support the callback and promise control-flow. If the handler's promise is resolved with `undefined`, it will be ignored causing the request to hang and an *error* log to be emitted.
>
> 1. If you want to use `async/await` or promises but respond a value with `reply.send`:
>     - **Don't** `return` any value.
>     - **Don't** forget to call `reply.send`.
> 2. If you want to use `async/await` or promises:
>     - **Don't** use `reply.send`.
>     - **Don't** return `undefined`.

`app.render` returns a promise which contains undefined, so returning it in a Fastify handler will log an error. However, returning anything besides undefined will cause Fastify to try to write to the response which Next.js has already ended. The solution is to manually set the `reply.sent` flag to true when any Next.js rendering promise is fulfilled as an alternative to calling `reply.send`.

### Make Next.js handle 404 errors
This allows any route to throw a NotFound error and let Next.js handle the rendering of the 404 page.

### Make Next.js handle any route which starts with `_next` in dev
This prevents dev routes from being caught by user-defined routes.
2018-07-19 21:27:22 +02:00
Tim Neutkens
ebf0c47c25
Upgrade standard.js (#4064)
* Upgrade standard.js

# Conflicts:
#	yarn.lock

* Upgrade babel-eslint
2018-03-27 20:11:03 +02:00
Stephen Daves
b7406e90c5 Fix url typo (#3111) 2017-10-16 21:28:25 +02:00
Theodore Vorillas
de8ecbbe19 Added Fastify example (#3034) 2017-10-03 07:58:26 +02:00