@@ -22,19 +22,9 @@ module.exports = function createProxyServer (bs, scripts) {
22
22
}
23
23
} ) ;
24
24
25
- var pluginMw = bs . pluginManager . hook ( "server:middleware" , snippetUtils . getProxyMiddleware ( scripts , options . getIn ( [ "scriptPaths" , "versioned" ] ) ) ) ;
25
+ var opts = getOptions ( bs , scripts ) ;
26
26
27
- var snippetOptions = options . get ( "snippetOptions" ) . toJS ( ) ;
28
- var foxyServer = foxy ( options . getIn ( [ "proxy" , "target" ] ) , {
29
- rules : snippetUtils . getRegex ( options . get ( "snippet" ) , options . get ( "snippetOptions" ) ) ,
30
- whitelist : snippetOptions . whitelist ,
31
- blacklist : snippetOptions . blacklist ,
32
- middleware : bs . options . get ( "middleware" ) . push ( pluginMw ) ,
33
- errHandler : function ( err ) {
34
- bs . logger . debug ( "{red:[proxy error]} %s" , err . message ) ;
35
- }
36
- }
37
- ) ;
27
+ var foxyServer = foxy ( options . getIn ( [ "proxy" , "target" ] ) , opts ) ;
38
28
39
29
return {
40
30
server : ( function ( app ) {
@@ -46,6 +36,43 @@ module.exports = function createProxyServer (bs, scripts) {
46
36
} ;
47
37
} ;
48
38
39
+ /**
40
+ * @param bs
41
+ * @param scripts
42
+ */
43
+ function getOptions ( bs , scripts ) {
44
+
45
+ var options = bs . options ;
46
+
47
+ var snippetOptions = options . get ( "snippetOptions" ) . toJS ( ) ;
48
+
49
+ var out = {
50
+ rules : snippetUtils . getRegex ( options . get ( "snippet" ) , options . get ( "snippetOptions" ) ) ,
51
+ whitelist : snippetOptions . whitelist ,
52
+ blacklist : snippetOptions . blacklist ,
53
+ middleware : options . get ( "middleware" ) . push ( getPluginMiddleware ( bs , scripts ) ) ,
54
+ errHandler : function ( err ) {
55
+ bs . logger . debug ( "{red:[proxy error]} %s" , err . message ) ;
56
+ }
57
+ } ;
58
+
59
+ if ( options . getIn ( [ "proxy" , "reqHeaders" ] ) ) {
60
+ out . reqHeaders = options . getIn ( [ "proxy" , "reqHeaders" ] ) ;
61
+ }
62
+
63
+ return out ;
64
+ }
65
+
66
+ /**
67
+ * Get proxy specific middleware
68
+ * @param bs
69
+ * @param scripts
70
+ * @returns {* }
71
+ */
72
+ function getPluginMiddleware ( bs , scripts ) {
73
+ return bs . pluginManager . hook ( "server:middleware" , snippetUtils . getProxyMiddleware ( scripts , bs . options . getIn ( [ "scriptPaths" , "versioned" ] ) ) ) ;
74
+ }
75
+
49
76
/**
50
77
* @param {Object } opts
51
78
* @param {Function } cb
0 commit comments