amqplib 0.4.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/Makefile +2 -1
  3. package/README.md +4 -4
  4. package/callback_api.js +1 -0
  5. package/channel_api.js +7 -6
  6. package/examples/headers.js +2 -2
  7. package/examples/receive_generator.js +39 -0
  8. package/examples/send_generators.js +42 -0
  9. package/examples/ssl.js +1 -1
  10. package/examples/tutorials/README.md +1 -1
  11. package/examples/tutorials/callback_api/emit_log.js +1 -1
  12. package/examples/tutorials/callback_api/emit_log_direct.js +1 -1
  13. package/examples/tutorials/callback_api/emit_log_topic.js +1 -1
  14. package/examples/tutorials/callback_api/new_task.js +1 -1
  15. package/examples/tutorials/callback_api/rpc_client.js +1 -1
  16. package/examples/tutorials/callback_api/rpc_server.js +1 -1
  17. package/examples/tutorials/callback_api/send.js +1 -1
  18. package/examples/tutorials/emit_log.js +4 -5
  19. package/examples/tutorials/emit_log_direct.js +4 -5
  20. package/examples/tutorials/emit_log_topic.js +4 -5
  21. package/examples/tutorials/new_task.js +5 -6
  22. package/examples/tutorials/package.json +2 -3
  23. package/examples/tutorials/receive.js +4 -4
  24. package/examples/tutorials/receive_logs.js +1 -1
  25. package/examples/tutorials/receive_logs_direct.js +2 -2
  26. package/examples/tutorials/receive_logs_topic.js +6 -6
  27. package/examples/tutorials/rpc_client.js +25 -26
  28. package/examples/tutorials/rpc_server.js +2 -2
  29. package/examples/tutorials/send.js +4 -5
  30. package/examples/tutorials/worker.js +1 -1
  31. package/examples/waitForConfirms.js +2 -2
  32. package/lib/api_args.js +2 -0
  33. package/lib/callback_model.js +11 -10
  34. package/lib/channel.js +24 -12
  35. package/lib/channel_model.js +57 -65
  36. package/lib/codec.js +64 -38
  37. package/lib/connect.js +26 -15
  38. package/lib/connection.js +6 -4
  39. package/lib/credentials.js +20 -3
  40. package/lib/defs.js +203 -75
  41. package/lib/frame.js +2 -1
  42. package/lib/heartbeat.js +1 -1
  43. package/package.json +10 -8
  44. package/test/callback_api.js +6 -5
  45. package/test/channel.js +125 -107
  46. package/test/channel_api.js +125 -136
  47. package/test/codec.js +48 -9
  48. package/test/connect.js +88 -3
  49. package/test/connection.js +57 -56
  50. package/test/data.js +32 -9
  51. package/test/frame.js +4 -4
  52. package/test/mux.js +10 -6
  53. package/test/util.js +35 -21
  54. package/.npmignore +0 -9
@@ -8,19 +8,36 @@
8
8
  // * PLAIN (send username and password in the plain)
9
9
  // * EXTERNAL (assume the server will figure out who you are from
10
10
  // context, i.e., your SSL certificate)
11
+ var Buffer = require('safe-buffer').Buffer
12
+ var codec = require('./codec')
11
13
 
12
14
  module.exports.plain = function(user, passwd) {
13
15
  return {
14
16
  mechanism: 'PLAIN',
15
17
  response: function() {
16
- return new Buffer(['', user, passwd].join(String.fromCharCode(0)))
17
- }
18
+ return Buffer.from(['', user, passwd].join(String.fromCharCode(0)))
19
+ },
20
+ username: user,
21
+ password: passwd
22
+ }
23
+ }
24
+
25
+ module.exports.amqplain = function(user, passwd) {
26
+ return {
27
+ mechanism: 'AMQPLAIN',
28
+ response: function() {
29
+ const buffer = Buffer.alloc(16384);
30
+ const size = codec.encodeTable(buffer, { LOGIN: user, PASSWORD: passwd}, 0);
31
+ return buffer.slice(4, size);
32
+ },
33
+ username: user,
34
+ password: passwd
18
35
  }
19
36
  }
20
37
 
21
38
  module.exports.external = function() {
22
39
  return {
23
40
  mechanism: 'EXTERNAL',
24
- response: function() { return new Buffer(''); }
41
+ response: function() { return Buffer.from(''); }
25
42
  }
26
43
  }