fastify-nextjs icon indicating copy to clipboard operation
fastify-nextjs copied to clipboard

There is no host in the middleware of nextjs

Open yantingxi opened this issue 2 years ago • 1 comments

Prerequisites

  • [X] I have written a descriptive issue title
  • [X] I have searched existing issues to ensure the bug has not already been reported

Fastify version

9.0.0

Plugin version

No response

Node.js version

v16.10.0

Operating system

Linux

Operating system version (i.e. 20.04, 11.3, 10)

CentOS Linux 7 (Core)

Description

When the host of listen is set to '0.0.0.0', the host obtained by the middleware of nextjs is empty, which causes the nextjs middleware to report an error

Steps to Reproduce

// import next from 'next';
import fastifyFactory from 'fastify';
import FastifyNextJS from '@fastify/nextjs';
// import {parse} from 'url';
// import { ParsedUrlQuery } from 'querystring';
// import { NextUrlWithParsedQuery } from 'next/dist/server/request-meta';

const port = parseInt(process.env.PORT as string, 10) || 8000;
const dev = process.env.NODE_ENV !== 'production';
// const app = next({ dev })

const fastify = fastifyFactory({logger: false, pluginTimeout: dev ? 120_000 : undefined});
fastify
    .register(FastifyNextJS)
    .after(() => {
        fastify.next('/*', (app, req, reply) => {
            return app.getRequestHandler()(req.raw, reply.raw).then(() => {
                reply.hijack();
            })
        })
    });

const start = async () => {
    try {
        await fastify.listen({
            port,
            host: '0.0.0.0',
            exclusive: false,
            readableAll: false,
            writableAll: false,
            ipv6Only: false
        });
        console.log(`server start at port: ${port}`);
    } catch (err) {
        fastify.log.error(err);
        process.exit(1);
    }
};
start();

Expected Behavior

No response

yantingxi avatar Aug 31 '22 06:08 yantingxi

Thanks for reporting! Would you like to send a Pull Request to address this issue? Remember to add unit tests.

mcollina avatar Aug 31 '22 08:08 mcollina