Skip to content

with-http-2 example fails on Node v11.15.0 #8407

@knight-of-zero

Description

@knight-of-zero

Examples bug report

Example name

with-http-2

Describe the bug

The server crashes after you load the first page:

$ npm run dev

> [email protected] dev /home/username/next.js/with-http2-app
> node server.js

[ ready ] compiled successfully
[ wait ]  compiling ...
Listening on HTTPS port 3000
[ ready ] compiled successfully
[ event ] build page: /
[ wait ]  compiling ...
[ ready ] compiled successfully
/home/username/next.js/with-http2-app/node_modules/compression/index.js:84
        this._implicitHeader()
             ^

TypeError: this._implicitHeader is not a function
    at Http2ServerResponse.write (/home/username/next.js/with-http2-app/node_modules/compression/index.js:84:14)
    at ReadStream.ondata (_stream_readable.js:705:22)
    at ReadStream.emit (events.js:193:13)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:276:11)
    at ReadStream.Readable.push (_stream_readable.js:231:10)
    at fs.read (internal/fs/streams.js:183:12)
    at FSReqCallback.wrapper [as oncomplete] (fs.js:478:5)

To Reproduce

  1. Run npx create-next-app --example with-http2 with-http2-app
  2. Run cd with-http2-app
  3. Copy your SSL keys into localhost-privkey.pem and localhost-cert.pem.
  4. Run npm run dev
  5. Load https://localhost:3000/ in a browser and ignore the warning about self-signed certs.

Expected behavior

The page should load and the process keep running.

System information

OS: Ubuntu 18.04.3 LTS.
Node: I reproduced this on both v11.15.0 and v8.16.1.
Next.js cloned from master (commit 5422ee04bec6f2a582b3ce2f15b9edc30e755e13)

Additional context

Probably related to expressjs/compression#128

Disabling compression in the config, per the docs:

const app = next({
  dev,
  conf: {
    compression: false,
  }
})

did not fix the problem. I'm a bit suspicious that the docs are out of date too, because the typescript types don't mention this option... but that's an issue for another ticket.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions