@@ -496,6 +496,15 @@ added: v0.11.14
496496If a request has been aborted, this value is the time when the request was
497497aborted, in milliseconds since 1 January 1970 00:00:00 UTC.
498498
499+ ### request.connection
500+ <!-- YAML
501+ added: v0.3.0
502+ -->
503+
504+ * {net.Socket}
505+
506+ See [ ` request.socket ` ] [ ]
507+
499508### request.end([ data[ , encoding]] [ , callback ] )
500509<!-- YAML
501510added: v0.1.90
@@ -564,6 +573,30 @@ Once a socket is assigned to this request and is connected
564573
565574Returns ` request ` .
566575
576+ ### request.socket
577+ <!-- YAML
578+ added: v0.3.0
579+ -->
580+
581+ * {net.Socket}
582+
583+ Reference to the underlying socket. Usually users will not want to access
584+ this property. In particular, the socket will not emit ` 'readable' ` events
585+ because of how the protocol parser attaches to the socket. After
586+ ` response.end() ` , the property is nulled. The ` socket ` may also be accessed
587+ via ` request.connection ` .
588+
589+ Example:
590+
591+ ``` js
592+ const http = require (' http' );
593+ const server = http .createServer ((req , res ) => {
594+ const ip = req .socket .remoteAddress ;
595+ const port = req .socket .remotePort ;
596+ res .end (` Your IP address is ${ ip} and your source port is ${ port} .` );
597+ }).listen (3000 );
598+ ```
599+
567600### request.write(chunk[ , encoding] [ , callback ] )
568601<!-- YAML
569602added: v0.1.29
@@ -955,6 +988,16 @@ response.end();
955988Attempting to set a header field name or value that contains invalid characters
956989will result in a [ ` TypeError ` ] [ ] being thrown.
957990
991+
992+ ### response.connection
993+ <!-- YAML
994+ added: v0.3.0
995+ -->
996+
997+ * {net.Socket}
998+
999+ See [ ` response.socket ` ] [ ] .
1000+
9581001### response.end([ data] [ , encoding ] [ , callback] )
9591002<!-- YAML
9601003added: v0.1.90
@@ -1163,6 +1206,30 @@ timed out sockets must be handled explicitly.
11631206
11641207Returns ` response ` .
11651208
1209+ ### response.socket
1210+ <!-- YAML
1211+ added: v0.3.0
1212+ -->
1213+
1214+ * {net.Socket}
1215+
1216+ Reference to the underlying socket. Usually users will not want to access
1217+ this property. In particular, the socket will not emit ` 'readable' ` events
1218+ because of how the protocol parser attaches to the socket. After
1219+ ` response.end() ` , the property is nulled. The ` socket ` may also be accessed
1220+ via ` response.connection ` .
1221+
1222+ Example:
1223+
1224+ ``` js
1225+ const http = require (' http' );
1226+ const server = http .createServer ((req , res ) => {
1227+ const ip = req .socket .remoteAddress ;
1228+ const port = req .socket .remotePort ;
1229+ res .end (` Your IP address is ${ ip} and your source port is ${ port} .` );
1230+ }).listen (3000 );
1231+ ```
1232+
11661233### response.statusCode
11671234<!-- YAML
11681235added: v0.4.0
@@ -1831,9 +1898,11 @@ const req = http.request(options, (res) => {
18311898[ `net.Server` ] : net.html#net_class_net_server
18321899[ `net.Socket` ] : net.html#net_class_net_socket
18331900[ `net.createConnection()` ] : net.html#net_net_createconnection_options_connectlistener
1901+ [ `request.socket` ] : #http_request_socket
18341902[ `request.socket.getPeerCertificate()` ] : tls.html#tls_tlssocket_getpeercertificate_detailed
18351903[ `response.end()` ] : #http_response_end_data_encoding_callback
18361904[ `response.setHeader()` ] : #http_response_setheader_name_value
1905+ [ `response.socket` ] : #http_response_socket
18371906[ `response.write()` ] : #http_response_write_chunk_encoding_callback
18381907[ `response.write(data, encoding)` ] : #http_response_write_chunk_encoding_callback
18391908[ `response.writeContinue()` ] : #http_response_writecontinue
0 commit comments