http-proxy-middleware 0.17.1 → 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +22 -8
  3. package/lib/handlers.js +13 -1
  4. package/lib/index.js +17 -6
  5. package/lib/logger.js +2 -2
  6. package/package.json +13 -9
  7. package/.editorconfig +0 -18
  8. package/.jscsrc +0 -8
  9. package/.npmignore +0 -2
  10. package/.travis.yml +0 -16
  11. package/CONTRIBUTING.md +0 -61
  12. package/ISSUE_TEMPLATE.md +0 -21
  13. package/coverage/coverage.json +0 -1
  14. package/coverage/lcov-report/base.css +0 -213
  15. package/coverage/lcov-report/http-proxy-middleware/index.html +0 -93
  16. package/coverage/lcov-report/http-proxy-middleware/index.js.html +0 -80
  17. package/coverage/lcov-report/http-proxy-middleware/lib/config-factory.js.html +0 -443
  18. package/coverage/lcov-report/http-proxy-middleware/lib/context-matcher.js.html +0 -347
  19. package/coverage/lcov-report/http-proxy-middleware/lib/handlers.js.html +0 -251
  20. package/coverage/lcov-report/http-proxy-middleware/lib/index.html +0 -171
  21. package/coverage/lcov-report/http-proxy-middleware/lib/index.js.html +0 -437
  22. package/coverage/lcov-report/http-proxy-middleware/lib/logger.js.html +0 -539
  23. package/coverage/lcov-report/http-proxy-middleware/lib/path-rewriter.js.html +0 -281
  24. package/coverage/lcov-report/http-proxy-middleware/lib/router.js.html +0 -224
  25. package/coverage/lcov-report/index.html +0 -106
  26. package/coverage/lcov-report/prettify.css +0 -1
  27. package/coverage/lcov-report/prettify.js +0 -1
  28. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  29. package/coverage/lcov-report/sorter.js +0 -158
  30. package/coverage/lcov.info +0 -647
  31. package/examples/README.md +0 -33
  32. package/examples/browser-sync/index.js +0 -29
  33. package/examples/connect/index.js +0 -29
  34. package/examples/express/index.js +0 -28
  35. package/examples/websocket/index.html +0 -96
  36. package/examples/websocket/index.js +0 -41
  37. package/recipes/README.md +0 -110
  38. package/recipes/basic.md +0 -32
  39. package/recipes/context-matching.md +0 -99
  40. package/recipes/corporate-proxy.md +0 -21
  41. package/recipes/delay.md +0 -37
  42. package/recipes/logLevel.md +0 -40
  43. package/recipes/logProvider.md +0 -77
  44. package/recipes/modify-post.md +0 -74
  45. package/recipes/pathRewrite.md +0 -93
  46. package/recipes/proxy-events.md +0 -74
  47. package/recipes/router.md +0 -83
  48. package/recipes/servers.md +0 -252
  49. package/recipes/shorthand.md +0 -63
  50. package/recipes/virtual-hosts.md +0 -18
  51. package/recipes/websocket.md +0 -41
@@ -1,347 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for http-proxy-middleware\lib\context-matcher.js</title>
5
- <meta charset="utf-8" />
6
- <link rel="stylesheet" href="../../prettify.css" />
7
- <link rel="stylesheet" href="../../base.css" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <style type='text/css'>
10
- .coverage-summary .sorter {
11
- background-image: url(../../sort-arrow-sprite.png);
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <div class='wrapper'>
17
- <div class='pad1'>
18
- <h1>
19
- <a href="../../index.html">all files</a> / <a href="index.html">http-proxy-middleware/lib/</a> context-matcher.js
20
- </h1>
21
- <div class='clearfix'>
22
- <div class='fl pad1y space-right2'>
23
- <span class="strong">100% </span>
24
- <span class="quiet">Statements</span>
25
- <span class='fraction'>41/41</span>
26
- </div>
27
- <div class='fl pad1y space-right2'>
28
- <span class="strong">100% </span>
29
- <span class="quiet">Branches</span>
30
- <span class='fraction'>20/20</span>
31
- </div>
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Functions</span>
35
- <span class='fraction'>8/8</span>
36
- </div>
37
- <div class='fl pad1y space-right2'>
38
- <span class="strong">100% </span>
39
- <span class="quiet">Lines</span>
40
- <span class='fraction'>41/41</span>
41
- </div>
42
- </div>
43
- </div>
44
- <div class='status-line high'></div>
45
- <pre><table class="coverage">
46
- <tr><td class="line-count quiet">1
47
- 2
48
- 3
49
- 4
50
- 5
51
- 6
52
- 7
53
- 8
54
- 9
55
- 10
56
- 11
57
- 12
58
- 13
59
- 14
60
- 15
61
- 16
62
- 17
63
- 18
64
- 19
65
- 20
66
- 21
67
- 22
68
- 23
69
- 24
70
- 25
71
- 26
72
- 27
73
- 28
74
- 29
75
- 30
76
- 31
77
- 32
78
- 33
79
- 34
80
- 35
81
- 36
82
- 37
83
- 38
84
- 39
85
- 40
86
- 41
87
- 42
88
- 43
89
- 44
90
- 45
91
- 46
92
- 47
93
- 48
94
- 49
95
- 50
96
- 51
97
- 52
98
- 53
99
- 54
100
- 55
101
- 56
102
- 57
103
- 58
104
- 59
105
- 60
106
- 61
107
- 62
108
- 63
109
- 64
110
- 65
111
- 66
112
- 67
113
- 68
114
- 69
115
- 70
116
- 71
117
- 72
118
- 73
119
- 74
120
- 75
121
- 76
122
- 77
123
- 78
124
- 79
125
- 80
126
- 81
127
- 82
128
- 83
129
- 84
130
- 85
131
- 86
132
- 87
133
- 88
134
- 89
135
- 90
136
- 91
137
- 92
138
- 93
139
- 94
140
- 95</td><td class="line-coverage quiet"><span class="cline-any cline-yes">1×</span>
141
- <span class="cline-any cline-yes">1×</span>
142
- <span class="cline-any cline-yes">1×</span>
143
- <span class="cline-any cline-yes">1×</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-yes">1×</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">1×</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">106×</span>
153
- <span class="cline-any cline-yes">38×</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-yes">68×</span>
158
- <span class="cline-any cline-yes">32×</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-yes">36×</span>
163
- <span class="cline-any cline-yes">22×</span>
164
- <span class="cline-any cline-yes">8×</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-yes">14×</span>
167
- <span class="cline-any cline-yes">13×</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">1×</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-yes">14×</span>
175
- <span class="cline-any cline-yes">10×</span>
176
- <span class="cline-any cline-yes">10×</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">4×</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">1×</span>
188
- <span class="cline-any cline-yes">49×</span>
189
- <span class="cline-any cline-yes">49×</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-yes">1×</span>
193
- <span class="cline-any cline-yes">45×</span>
194
- <span class="cline-any cline-yes">45×</span>
195
- <span class="cline-any cline-yes">45×</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-yes">1×</span>
199
- <span class="cline-any cline-yes">13×</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-yes">1×</span>
208
- <span class="cline-any cline-yes">8×</span>
209
- <span class="cline-any cline-yes">11×</span>
210
- <span class="cline-any cline-yes">11×</span>
211
- <span class="cline-any cline-yes">4×</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">4×</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">1×</span>
224
- <span class="cline-any cline-yes">104×</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">1×</span>
228
- <span class="cline-any cline-yes">133×</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-yes">1×</span>
232
- <span class="cline-any cline-yes">95×</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">var _ = require('lodash');
235
- var url = require('url');
236
- var isGlob = require('is-glob');
237
- var micromatch = require('micromatch');
238
- &nbsp;
239
- module.exports = {
240
- match: matchContext
241
- };
242
- &nbsp;
243
- function matchContext(context, uri, req) {
244
- &nbsp;
245
- // single path
246
- if (isStringPath(context)) {
247
- return matchSingleStringPath(context, uri);
248
- }
249
- &nbsp;
250
- // single glob path
251
- if (isGlobPath(context)) {
252
- return matchSingleGlobPath(context, uri);
253
- }
254
- &nbsp;
255
- // multi path
256
- if (Array.isArray(context)) {
257
- if (context.every(isStringPath)) {
258
- return matchMultiPath(context, uri);
259
- }
260
- if (context.every(isGlobPath)) {
261
- return matchMultiGlobPath(context, uri);
262
- }
263
- &nbsp;
264
- throw new Error('[HPM] Invalid context. Expecting something like: ["/api", "/ajax"] or ["/api/**", "!**.html"]');
265
- }
266
- &nbsp;
267
- // custom matching
268
- if (_.isFunction(context)) {
269
- var pathname = getUrlPathName(uri);
270
- return context(pathname, req);
271
- }
272
- &nbsp;
273
- throw new Error('[HPM] Invalid context. Expecting something like: "/api" or ["/api", "/ajax"]');
274
- }
275
- &nbsp;
276
- /**
277
- * @param {String} context '/api'
278
- * @param {String} uri 'http://example.org/api/b/c/d.html'
279
- * @return {Boolean}
280
- */
281
- function matchSingleStringPath(context, uri) {
282
- var pathname = getUrlPathName(uri);
283
- return pathname.indexOf(context) === 0;
284
- }
285
- &nbsp;
286
- function matchSingleGlobPath(pattern, uri) {
287
- var pathname = getUrlPathName(uri);
288
- var matches = micromatch(pathname, pattern);
289
- return matches &amp;&amp; (matches.length &gt; 0);
290
- }
291
- &nbsp;
292
- function matchMultiGlobPath(patternList, uri) {
293
- return matchSingleGlobPath(patternList, uri);
294
- }
295
- &nbsp;
296
- /**
297
- * @param {String} context ['/api', '/ajax']
298
- * @param {String} uri 'http://example.org/api/b/c/d.html'
299
- * @return {Boolean}
300
- */
301
- function matchMultiPath(contextList, uri) {
302
- for (var i = 0; i &lt; contextList.length; i++) {
303
- var context = contextList[i];
304
- if (matchSingleStringPath(context, uri)) {
305
- return true;
306
- }
307
- }
308
- return false;
309
- }
310
- &nbsp;
311
- /**
312
- * Parses URI and returns RFC 3986 path
313
- *
314
- * @param {String} uri from req.url
315
- * @return {String} RFC 3986 path
316
- */
317
- function getUrlPathName(uri) {
318
- return uri &amp;&amp; url.parse(uri).pathname;
319
- }
320
- &nbsp;
321
- function isStringPath(context) {
322
- return _.isString(context) &amp;&amp; !isGlob(context);
323
- }
324
- &nbsp;
325
- function isGlobPath(context) {
326
- return isGlob(context);
327
- }
328
- &nbsp;</pre></td></tr>
329
- </table></pre>
330
- <div class='push'></div><!-- for sticky footer -->
331
- </div><!-- /wrapper -->
332
- <div class='footer quiet pad2 space-top1 center small'>
333
- Code coverage
334
- generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Jun 29 2016 02:08:37 GMT+0200 (W. Europe Daylight Time)
335
- </div>
336
- </div>
337
- <script src="../../prettify.js"></script>
338
- <script>
339
- window.onload = function () {
340
- if (typeof prettyPrint === 'function') {
341
- prettyPrint();
342
- }
343
- };
344
- </script>
345
- <script src="../../sorter.js"></script>
346
- </body>
347
- </html>
@@ -1,251 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for http-proxy-middleware\lib\handlers.js</title>
5
- <meta charset="utf-8" />
6
- <link rel="stylesheet" href="../../prettify.css" />
7
- <link rel="stylesheet" href="../../base.css" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <style type='text/css'>
10
- .coverage-summary .sorter {
11
- background-image: url(../../sort-arrow-sprite.png);
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <div class='wrapper'>
17
- <div class='pad1'>
18
- <h1>
19
- <a href="../../index.html">all files</a> / <a href="index.html">http-proxy-middleware/lib/</a> handlers.js
20
- </h1>
21
- <div class='clearfix'>
22
- <div class='fl pad1y space-right2'>
23
- <span class="strong">100% </span>
24
- <span class="quiet">Statements</span>
25
- <span class='fraction'>28/28</span>
26
- </div>
27
- <div class='fl pad1y space-right2'>
28
- <span class="strong">100% </span>
29
- <span class="quiet">Branches</span>
30
- <span class='fraction'>12/12</span>
31
- </div>
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Functions</span>
35
- <span class='fraction'>6/6</span>
36
- </div>
37
- <div class='fl pad1y space-right2'>
38
- <span class="strong">100% </span>
39
- <span class="quiet">Lines</span>
40
- <span class='fraction'>28/28</span>
41
- </div>
42
- </div>
43
- </div>
44
- <div class='status-line high'></div>
45
- <pre><table class="coverage">
46
- <tr><td class="line-count quiet">1
47
- 2
48
- 3
49
- 4
50
- 5
51
- 6
52
- 7
53
- 8
54
- 9
55
- 10
56
- 11
57
- 12
58
- 13
59
- 14
60
- 15
61
- 16
62
- 17
63
- 18
64
- 19
65
- 20
66
- 21
67
- 22
68
- 23
69
- 24
70
- 25
71
- 26
72
- 27
73
- 28
74
- 29
75
- 30
76
- 31
77
- 32
78
- 33
79
- 34
80
- 35
81
- 36
82
- 37
83
- 38
84
- 39
85
- 40
86
- 41
87
- 42
88
- 43
89
- 44
90
- 45
91
- 46
92
- 47
93
- 48
94
- 49
95
- 50
96
- 51
97
- 52
98
- 53
99
- 54
100
- 55
101
- 56
102
- 57
103
- 58
104
- 59
105
- 60
106
- 61
107
- 62
108
- 63</td><td class="line-coverage quiet"><span class="cline-any cline-yes">1×</span>
109
- <span class="cline-any cline-yes">1×</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-yes">1×</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">1×</span>
117
- <span class="cline-any cline-yes">41×</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">41×</span>
120
- <span class="cline-any cline-yes">85×</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">41×</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-yes">1×</span>
127
- <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-yes">48×</span>
129
- <span class="cline-any cline-yes">48×</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-yes">48×</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">288×</span>
136
- <span class="cline-any cline-yes">288×</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-yes">288×</span>
139
- <span class="cline-any cline-yes">17×</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-yes">48×</span>
145
- <span class="cline-any cline-yes">44×</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">48×</span>
150
- <span class="cline-any cline-yes">46×</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-yes">48×</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">1×</span>
157
- <span class="cline-any cline-yes">5×</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">5×</span>
160
- <span class="cline-any cline-yes">3×</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">5×</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-yes">1×</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-yes">4×</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">var _ = require('lodash');
171
- var logger = require('./logger').getInstance();
172
- &nbsp;
173
- module.exports = {
174
- init: init,
175
- getHandlers: getProxyEventHandlers
176
- };
177
- &nbsp;
178
- function init(proxy, opts) {
179
- var handlers = getProxyEventHandlers(opts);
180
- &nbsp;
181
- _.forIn(handlers, function(handler, eventName) {
182
- proxy.on(eventName, handlers[eventName]);
183
- });
184
- &nbsp;
185
- logger.debug('[HPM] Subscribed to http-proxy events: ', _.keys(handlers));
186
- }
187
- &nbsp;
188
- function getProxyEventHandlers(opts) {
189
- // https://github.com/nodejitsu/node-http-proxy#listening-for-proxy-events
190
- var proxyEvents = ['error', 'proxyReq', 'proxyReqWs', 'proxyRes', 'open', 'close'];
191
- var handlers = {};
192
- &nbsp;
193
- _.forEach(proxyEvents, function(event) {
194
- // all handlers for the http-proxy events are prefixed with 'on'.
195
- // loop through options and try to find these handlers
196
- // and add them to the handlers object for subscription in init().
197
- var eventName = _.camelCase('on ' + event);
198
- var fnHandler = _.get(opts, eventName);
199
- &nbsp;
200
- if (_.isFunction(fnHandler)) {
201
- handlers[event] = fnHandler;
202
- }
203
- });
204
- &nbsp;
205
- // add default error handler in absence of error handler
206
- if (!_.isFunction(handlers.error)) {
207
- handlers.error = defaultErrorHandler;
208
- }
209
- &nbsp;
210
- // add default close handler in absence of close handler
211
- if (!_.isFunction(handlers.close)) {
212
- handlers.close = logClose;
213
- }
214
- &nbsp;
215
- return handlers;
216
- };
217
- &nbsp;
218
- function defaultErrorHandler(err, req, res) {
219
- var host = (req.headers &amp;&amp; req.headers.host);
220
- &nbsp;
221
- if (res.writeHead &amp;&amp; !res.headersSent) {
222
- res.writeHead(500);
223
- }
224
- &nbsp;
225
- res.end('Error occured while trying to proxy to: ' + host + req.url);
226
- }
227
- &nbsp;
228
- function logClose(req, socket, head) {
229
- // view disconnected websocket connections
230
- logger.info('[HPM] Client disconnected');
231
- }
232
- &nbsp;</pre></td></tr>
233
- </table></pre>
234
- <div class='push'></div><!-- for sticky footer -->
235
- </div><!-- /wrapper -->
236
- <div class='footer quiet pad2 space-top1 center small'>
237
- Code coverage
238
- generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Jun 29 2016 02:08:37 GMT+0200 (W. Europe Daylight Time)
239
- </div>
240
- </div>
241
- <script src="../../prettify.js"></script>
242
- <script>
243
- window.onload = function () {
244
- if (typeof prettyPrint === 'function') {
245
- prettyPrint();
246
- }
247
- };
248
- </script>
249
- <script src="../../sorter.js"></script>
250
- </body>
251
- </html>