File tree Expand file tree Collapse file tree 4 files changed +40
-71
lines changed Expand file tree Collapse file tree 4 files changed +40
-71
lines changed Original file line number Diff line number Diff line change @@ -380,6 +380,15 @@ Example:
380380
381381 var contentType = response.getHeader('content-type');
382382
383+ ### response.getAllHeaders()
384+
385+ Reads out all headers that are already been queued but not yet sent to the
386+ client. This can only be called before headers get implicitly flushed.
387+
388+ Example:
389+
390+ var headers = response.getAllHeaders();
391+
383392### response.removeHeader(name)
384393
385394Removes a header that's queued for implicit sending.
Original file line number Diff line number Diff line change @@ -360,6 +360,14 @@ OutgoingMessage.prototype.getHeader = function(name) {
360360} ;
361361
362362
363+ OutgoingMessage . prototype . getAllHeaders = function ( ) {
364+ if ( ! this . _headers )
365+ return ;
366+ else
367+ return util . _extend ( { } , this . _headers ) ;
368+ } ;
369+
370+
363371OutgoingMessage . prototype . removeHeader = function ( name ) {
364372 if ( arguments . length < 1 ) {
365373 throw new Error ( '`name` is required for removeHeader().' ) ;
Original file line number Diff line number Diff line change 1+ var common = require ( '../common' ) ;
2+ var assert = require ( 'assert' ) ;
3+ var http = require ( 'http' ) ;
4+
5+ // Verify that ServerResponse.getHeader() works correctly even after
6+ // the response header has been sent. Issue 752 on github.
7+
8+ var rando = Math . random ( ) ;
9+ var expected = util . _extend ( { } , {
10+ 'X-Random-Thing' : rando ,
11+ } ) ;
12+ var server = http . createServer ( function ( req , res ) {
13+ res . setHeader ( 'X-Random-Thing' , rando ) ;
14+ headers = res . getAllHeaders ( ) ;
15+ res . end ( 'hello' ) ;
16+ assert . strictEqual ( res . getAllHeaders ( ) , null ) ;
17+ } ) ;
18+ server . listen ( common . PORT , function ( ) {
19+ http . get ( { port : common . PORT } , function ( resp ) {
20+ assert . deepEqual ( response . headers , expected ) ;
21+ server . close ( ) ;
22+ } ) ;
23+ } ) ;
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments