Skip to content

http-proxy-middleware attempts to handle request when response has already been sent by webpack-dev-middleware #5521

Open
@mjames-c

Description

@mjames-c

Bug report

http-proxy-middleware attempts to handle request when response has already been sent by webpack-dev-middleware. fixing this should be as simple as adding a check on res.headersSent to the http-proxy-middleware handler

Actual Behavior

webpack-dev-server prints the following error logs to the console:

<e> [webpack-dev-server] [HPM] ECONNRESET: Error: socket hang up
<e>     at TLSSocket.socketOnEnd (node:_http_client:528:25)
<e>     at TLSSocket.emit (node:events:530:35)
<e>     at TLSSocket.emit (node:domain:489:12)
<e>     at endReadableNT (node:internal/streams/readable:1698:12)
<e>     at processTicksAndRejections (node:internal/process/task_queues:82:21) {
<e>   code: 'ECONNRESET'
<e> }

Expected Behavior

webpack-dev-server does NOT attempt to proxy the request.

How Do We Reproduce?

// webpack.config.js
{
  devServer: {
    proxy: {
      context: () => true
    },
  }
}

Please paste the results of npx webpack-cli info here, and mention other relevant information

  System:
    OS: Linux 6.8 Ubuntu 22.04.5 LTS 22.04.5 LTS (Jammy Jellyfish)
    CPU: (16) x64 Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz
    Memory: 102.13 GB / 123.81 GB
  Packages:
    babel-loader: ^8.0.6 => 8.2.4 
    css-loader: ^5.2.4 => 5.2.6 
    ejs-loader: ^0.5.0 => 0.5.0 
    file-loader: ^5.0.2 => 5.0.2 
    html-webpack-plugin: ~5.5.0 => 5.5.3 
    loader-runner: ^4.1.0 => 4.2.0 
    loader-utils: ^1.2.3 => 1.2.3 
    postcss-loader: ^5.2.0 => 5.2.0 
    raw-loader: ^4.0.0 => 4.0.2 
    svg-url-loader: ^3.0.3 => 3.0.3 
    svgo-loader: ^3.0.0 => 3.0.0 
    swc-loader: ^0.2.6 => 0.2.6 
    terser-webpack-plugin: ^5.2.4 => 5.3.9 
    thread-loader: ^4.0.2 => 4.0.2 
    ts-loader: ^9.4.4 => 9.4.4 
    url-loader: ^4.1.1 => 4.1.1 
    webfontloader: ^1.6.28 => 1.6.28 
    webpack: 5.99.9 => 5.99.9 
    webpack-cli: ^5.1.4 => 5.1.4 
    webpack-dev-server: ^5.2.1 => 5.2.1 
    webpackbar: ^5.0.0-3 => 5.0.0-3 

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