UNPKG

1.65 kBJavaScriptView Raw
1/**
2 * Module dependencies.
3 */
4var express = require('express');
5var proxy = require('../../index'); // require('http-proxy-middleware');
6
7/**
8 * Configure proxy middleware
9 */
10var wsProxy = proxy('/', {
11 target: 'http://echo.websocket.org',
12 // pathRewrite: {
13 // '^/websocket' : '/socket', // rewrite path.
14 // '^/removepath' : '' // remove path.
15 // },
16 changeOrigin: true, // for vhosted sites, changes host header to match to target's host
17 ws: true, // enable websocket proxy
18 logLevel: 'debug'
19 });
20
21var app = express();
22app.use('/', express.static(__dirname)); // demo page
23app.use(wsProxy); // add the proxy to express
24
25var server = app.listen(3000);
26server.on('upgrade', wsProxy.upgrade); // optional: upgrade externally
27
28
29console.log('[DEMO] Server: listening on port 3000');
30console.log('[DEMO] Opening: http://localhost:3000');
31
32require('open')('http://localhost:3000');
33
34/**
35 * Example:
36 * Open http://localhost:3000 in WebSocket compatible browser.
37 * In browser console:
38 * 1. `var socket = new WebSocket('ws://localhost:3000');` // create new WebSocket
39 * 2. `socket.onmessage = function (msg) {console.log(msg)};` // listen to socket messages
40 * 3. `socket.send('hello world');` // send message
41 * > {data: "hello world"} // server should echo back your message.
42 **/