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:
380
380
381
381
var contentType = response.getHeader('content-type');
382
382
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
+
383
392
### response.removeHeader(name)
384
393
385
394
Removes 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) {
360
360
} ;
361
361
362
362
363
+ OutgoingMessage . prototype . getAllHeaders = function ( ) {
364
+ if ( ! this . _headers )
365
+ return ;
366
+ else
367
+ return util . _extend ( { } , this . _headers ) ;
368
+ } ;
369
+
370
+
363
371
OutgoingMessage . prototype . removeHeader = function ( name ) {
364
372
if ( arguments . length < 1 ) {
365
373
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