Code Monkey home page Code Monkey logo

Comments (7)

limpbrains avatar limpbrains commented on May 16, 2024 1

@chimurai

  1. Here is my full devServer.js
var express = require('express');
var webpack = require('webpack');
var config = require('../webpack.config.dev');
var proxyMiddleware = require('http-proxy-middleware');

var app = express();
var compiler = webpack(config);

app.use(require('webpack-dev-middleware')(compiler, {
  noInfo: true,
  publicPath: config.output.publicPath
}));

app.use(require('webpack-hot-middleware')(compiler));

var onProxyRes = function (proxyRes, req, res) {
  // remove header from response
  delete proxyRes.headers['content-security-policy-report-only'];
  delete proxyRes.headers['content-security-policy'];
};

var proxy = proxyMiddleware('**', {
  target: 'http://localhost:3000',
  changeOrigin: true,
  ws: true,
  onProxyRes,
  proxyTable: {
    'live:2992'    : 'https://host.com',
  }
});

app.use(proxy);

app.listen(2992, '0.0.0.0', function(err) {
  if (err) {
    console.log(err);
    return;
  }

  console.log('Listening at http://localhost:2992');
});
  1. yes, it is a single page application.
var wsPrefix = (window.location.protocol === 'https:') ? 'wss://' : 'ws://';
var address = wsPrefix + window.location.host + '/ws';
var WS = new WebSocket(address);

from http-proxy-middleware.

chimurai avatar chimurai commented on May 16, 2024

Thanks for reporting the issue.

Looks like proxyTable isn't implemented when upgrading to WebSocket:
https://github.com/chimurai/http-proxy-middleware/blob/master/index.js#L94

from http-proxy-middleware.

chimurai avatar chimurai commented on May 16, 2024

@limpbrains
Can you provide a bit more information?

  1. The full http-proxy-middleware configuration.

  2. Client side websocket implementation.
    Is a html page with javascript? And as simple as var socket = new WebSocket('ws://dev:2992'); ?

from http-proxy-middleware.

chimurai avatar chimurai commented on May 16, 2024

Thanks!

from http-proxy-middleware.

chimurai avatar chimurai commented on May 16, 2024

Think I've fixed the issue in the #49 branch.

@limpbrains can you give it a spin to verify the fix?

from http-proxy-middleware.

limpbrains avatar limpbrains commented on May 16, 2024

Works perfectly, thanks!

from http-proxy-middleware.

chimurai avatar chimurai commented on May 16, 2024

Awesome. Thanks for reporting and testing! 👍

Going publish the final version after some more testing.

from http-proxy-middleware.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.