@@ -19,14 +19,40 @@ describe('when userResHeaderDecorator is defined', function () {
1919 beforeEach ( function ( ) {
2020 app = express ( ) ;
2121 var pTarget = express ( ) ;
22- pTarget . use ( function ( req , res ) { res . json ( req . headers ) ; } ) ;
22+ pTarget . use ( function ( req , res ) {
23+ res . header ( 'x-my-not-so-secret-header' , 'minnie-mouse' ) ;
24+ res . header ( 'x-my-secret-header' , 'mighty-mouse' ) ;
25+ res . json ( req . headers ) ;
26+ } ) ;
2327 serverReference = pTarget . listen ( 12345 ) ;
2428 } ) ;
2529
2630 afterEach ( function ( ) {
2731 serverReference . close ( ) ;
2832 } ) ;
2933
34+ it ( 'can delete a header' , function ( done ) {
35+
36+ app . use ( '/proxy' , proxy ( 'http://127.0.0.1:12345' , {
37+ userResHeaderDecorator : function ( headers /*, userReq, userRes, proxyReq, proxyRes */ ) {
38+ delete headers [ 'x-my-secret-header' ] ;
39+ return headers ;
40+ }
41+ } ) ) ;
42+
43+ app . use ( function ( req , res ) {
44+ res . sendStatus ( 200 ) ;
45+ } ) ;
46+
47+ request ( app )
48+ . get ( '/proxy' )
49+ . expect ( function ( res ) {
50+ assert ( Object . keys ( res . headers ) . indexOf ( 'x-my-not-so-secret-header' ) > - 1 ) ;
51+ assert ( Object . keys ( res . headers ) . indexOf ( 'x-my-secret-header' ) === - 1 ) ;
52+ } )
53+ . end ( done ) ;
54+ } ) ;
55+
3056 it ( 'provides an interface for updating headers' , function ( done ) {
3157
3258 app . use ( '/proxy' , proxy ( 'http://127.0.0.1:12345' , {
@@ -47,4 +73,5 @@ describe('when userResHeaderDecorator is defined', function () {
4773 } )
4874 . end ( done ) ;
4975 } ) ;
76+
5077} ) ;
0 commit comments