source: trip-planner-front/node_modules/socks/docs/migratingFromV1.md

Last change on this file was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 2.6 KB
Line 
1# socks
2
3## Migrating from v1
4
5For the most part, migrating from v1 takes minimal effort as v2 still supports factory creation of proxy connections with callback support.
6
7### Notable breaking changes
8
9- In an options object, the proxy 'command' is now required and does not default to 'connect'.
10- **In an options object, 'target' is now known as 'destination'.**
11- Sockets are no longer paused after a SOCKS connection is made, so socket.resume() is no longer required. (Please be sure to attach data handlers immediately to the Socket to avoid losing data).
12- In v2, only the 'connect' command is supported via the factory SocksClient.createConnection function. (BIND and ASSOCIATE must be used with a SocksClient instance via event handlers).
13- In v2, the factory SocksClient.createConnection function callback is called with a single object rather than separate socket and info object.
14- A SOCKS http/https agent is no longer bundled into the library.
15
16For informational purposes, here is the original getting started example from v1 converted to work with v2.
17
18### Before (v1)
19
20```javascript
21var Socks = require('socks');
22
23var options = {
24 proxy: {
25 ipaddress: "202.101.228.108",
26 port: 1080,
27 type: 5
28 },
29 target: {
30 host: "google.com",
31 port: 80
32 },
33 command: 'connect'
34};
35
36Socks.createConnection(options, function(err, socket, info) {
37 if (err)
38 console.log(err);
39 else {
40 socket.write("GET / HTTP/1.1\nHost: google.com\n\n");
41 socket.on('data', function(data) {
42 console.log(data.length);
43 console.log(data);
44 });
45
46 // PLEASE NOTE: sockets need to be resumed before any data will come in or out as they are paused right before this callback is fired.
47 socket.resume();
48
49 // 569
50 // <Buffer 48 54 54 50 2f 31 2e 31 20 33 30 31 20 4d 6f 76 65 64 20 50 65...
51 }
52});
53```
54
55### After (v2)
56```javascript
57const SocksClient = require('socks').SocksClient;
58
59let options = {
60 proxy: {
61 ipaddress: "202.101.228.108",
62 port: 1080,
63 type: 5
64 },
65 destination: {
66 host: "google.com",
67 port: 80
68 },
69 command: 'connect'
70};
71
72SocksClient.createConnection(options, function(err, result) {
73 if (err)
74 console.log(err);
75 else {
76 result.socket.write("GET / HTTP/1.1\nHost: google.com\n\n");
77 result.socket.on('data', function(data) {
78 console.log(data.length);
79 console.log(data);
80 });
81
82 // 569
83 // <Buffer 48 54 54 50 2f 31 2e 31 20 33 30 31 20 4d 6f 76 65 64 20 50 65...
84 }
85});
86```
Note: See TracBrowser for help on using the repository browser.