get_index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. // Generated by IcedCoffeeScript 1.7.1-f
  2. (function() {
  3. var GetIndex, a_json_parse, chain, constants, iced, log, make_esc, unix_time, __iced_k, __iced_k_noop, _ref;
  4. iced = require('iced-runtime');
  5. __iced_k = __iced_k_noop = function() {};
  6. make_esc = require('iced-error').make_esc;
  7. _ref = require('iced-utils').util, chain = _ref.chain, unix_time = _ref.unix_time, a_json_parse = _ref.a_json_parse;
  8. constants = require('./constants').constants;
  9. log = require('./log');
  10. exports.GetIndex = GetIndex = (function() {
  11. function GetIndex(config) {
  12. this.config = config;
  13. }
  14. GetIndex.prototype.fetch = function(cb) {
  15. var err, res, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  16. __iced_k = __iced_k_noop;
  17. ___iced_passed_deferral = iced.findDeferral(arguments);
  18. (function(_this) {
  19. return (function(__iced_k) {
  20. __iced_deferrals = new iced.Deferrals(__iced_k, {
  21. parent: ___iced_passed_deferral,
  22. filename: "/home/max/src/keybase/node-installer/src/get_index.iced",
  23. funcname: "GetIndex.fetch"
  24. });
  25. _this.config.request("/sig/files/" + (_this.config.key_version()) + "/index.asc", __iced_deferrals.defer({
  26. assign_fn: (function(__slot_1) {
  27. return function() {
  28. err = arguments[0];
  29. res = arguments[1];
  30. return __slot_1._signed_index = arguments[2];
  31. };
  32. })(_this),
  33. lineno: 15
  34. }));
  35. __iced_deferrals._fulfill();
  36. });
  37. })(this)((function(_this) {
  38. return function() {
  39. return cb(err);
  40. };
  41. })(this));
  42. };
  43. GetIndex.prototype.verify = function(cb) {
  44. var a, b, err, now, t, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  45. __iced_k = __iced_k_noop;
  46. ___iced_passed_deferral = iced.findDeferral(arguments);
  47. now = unix_time();
  48. (function(_this) {
  49. return (function(__iced_k) {
  50. __iced_deferrals = new iced.Deferrals(__iced_k, {
  51. parent: ___iced_passed_deferral,
  52. filename: "/home/max/src/keybase/node-installer/src/get_index.iced",
  53. funcname: "GetIndex.verify"
  54. });
  55. _this.config.oneshot_verify({
  56. which: 'index',
  57. sig: _this._signed_index
  58. }, __iced_deferrals.defer({
  59. assign_fn: (function(__slot_1) {
  60. return function() {
  61. err = arguments[0];
  62. return __slot_1._index = arguments[1];
  63. };
  64. })(_this),
  65. lineno: 22
  66. }));
  67. __iced_deferrals._fulfill();
  68. });
  69. })(this)((function(_this) {
  70. return function() {
  71. var _ref1, _ref2;
  72. err = err != null ? err : (t = _this._index.timestamp) == null ? new Error("Bad index; no timestamp") : (a = now - t) > (b = constants.index_timeout) ? new Error("Index timed out: " + a + " > " + b) : ((_ref1 = _this._index.keys) != null ? _ref1.latest : void 0) == null ? new Error("missing required field: keys.latest") : ((_ref2 = _this._index["package"]) != null ? _ref2.latest : void 0) == null ? new Error("missing required field: package.latest") : null;
  73. return cb(err);
  74. };
  75. })(this));
  76. };
  77. GetIndex.prototype.run = function(cb) {
  78. var esc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  79. __iced_k = __iced_k_noop;
  80. ___iced_passed_deferral = iced.findDeferral(arguments);
  81. log.debug("+ GetIndex::run");
  82. esc = make_esc(cb, "GetIndex::run");
  83. (function(_this) {
  84. return (function(__iced_k) {
  85. __iced_deferrals = new iced.Deferrals(__iced_k, {
  86. parent: ___iced_passed_deferral,
  87. filename: "/home/max/src/keybase/node-installer/src/get_index.iced",
  88. funcname: "GetIndex.run"
  89. });
  90. _this.fetch(esc(__iced_deferrals.defer({
  91. lineno: 36
  92. })));
  93. __iced_deferrals._fulfill();
  94. });
  95. })(this)((function(_this) {
  96. return function() {
  97. (function(__iced_k) {
  98. __iced_deferrals = new iced.Deferrals(__iced_k, {
  99. parent: ___iced_passed_deferral,
  100. filename: "/home/max/src/keybase/node-installer/src/get_index.iced",
  101. funcname: "GetIndex.run"
  102. });
  103. _this.verify(esc(__iced_deferrals.defer({
  104. lineno: 37
  105. })));
  106. __iced_deferrals._fulfill();
  107. })(function() {
  108. _this.config.set_index(_this._index);
  109. log.debug("- GetIndex::run");
  110. return cb(null);
  111. });
  112. };
  113. })(this));
  114. };
  115. return GetIndex;
  116. })();
  117. }).call(this);