Skip to content
This repository was archived by the owner on Jul 10, 2024. It is now read-only.

Commit e9f580f

Browse files
author
Guy
committed
Merge pull request #163 from HubSpot/guy_honors_requests
honor requests option Fixes #145
2 parents 4ad9b0d + f7017ae commit e9f580f

File tree

9 files changed

+135
-116
lines changed

9 files changed

+135
-116
lines changed

coffee/requests.coffee

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ held = []
55

66
waitingOnConfirm = false
77
holdRequest = (req) ->
8+
return if Offline.getOption('requests') is false
89
Offline.trigger 'requests:capture'
910

1011
if Offline.state isnt 'down'
@@ -13,6 +14,7 @@ holdRequest = (req) ->
1314
held.push req
1415

1516
makeRequest = ({xhr, url, type, user, password, body}) ->
17+
return if Offline.getOption('requests') is false
1618
xhr.abort()
1719
xhr.open(type, url, true, user, password)
1820
xhr.setRequestHeader(name, val) for name, val of xhr.headers
@@ -26,6 +28,7 @@ clear = ->
2628
held = []
2729

2830
flush = ->
31+
return if Offline.getOption('requests') is false
2932
Offline.trigger 'requests:flush'
3033

3134
requests = {}

js/offline.js

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
var Offline, checkXHR, defaultOptions, extendNative, grab, handlers, init;
33

44
extendNative = function(to, from) {
5-
var e, key, val, _results;
6-
_results = [];
5+
var e, key, results, val;
6+
results = [];
77
for (key in from.prototype) {
88
try {
99
val = from.prototype[key];
1010
if ((to[key] == null) && typeof val !== 'function') {
11-
_results.push(to[key] = val);
11+
results.push(to[key] = val);
1212
} else {
13-
_results.push(void 0);
13+
results.push(void 0);
1414
}
1515
} catch (_error) {
1616
e = _error;
1717
}
1818
}
19-
return _results;
19+
return results;
2020
};
2121

2222
Offline = {};
@@ -48,10 +48,10 @@
4848
};
4949

5050
grab = function(obj, key) {
51-
var cur, i, part, parts, _i, _len;
51+
var cur, i, j, len, part, parts;
5252
cur = obj;
5353
parts = key.split('.');
54-
for (i = _i = 0, _len = parts.length; _i < _len; i = ++_i) {
54+
for (i = j = 0, len = parts.length; j < len; i = ++j) {
5555
part = parts[i];
5656
cur = cur[part];
5757
if (typeof cur !== 'object') {
@@ -66,8 +66,8 @@
6666
};
6767

6868
Offline.getOption = function(key) {
69-
var val, _ref;
70-
val = (_ref = grab(Offline.options, key)) != null ? _ref : grab(defaultOptions, key);
69+
var ref, val;
70+
val = (ref = grab(Offline.options, key)) != null ? ref : grab(defaultOptions, key);
7171
if (typeof val === 'function') {
7272
return val();
7373
} else {
@@ -110,15 +110,15 @@
110110
handlers = {};
111111

112112
Offline.on = function(event, handler, ctx) {
113-
var e, events, _i, _len, _results;
113+
var e, events, j, len, results;
114114
events = event.split(' ');
115115
if (events.length > 1) {
116-
_results = [];
117-
for (_i = 0, _len = events.length; _i < _len; _i++) {
118-
e = events[_i];
119-
_results.push(Offline.on(e, handler, ctx));
116+
results = [];
117+
for (j = 0, len = events.length; j < len; j++) {
118+
e = events[j];
119+
results.push(Offline.on(e, handler, ctx));
120120
}
121-
return _results;
121+
return results;
122122
} else {
123123
if (handlers[event] == null) {
124124
handlers[event] = [];
@@ -128,42 +128,42 @@
128128
};
129129

130130
Offline.off = function(event, handler) {
131-
var ctx, i, _handler, _ref, _results;
131+
var _handler, ctx, i, ref, results;
132132
if (handlers[event] == null) {
133133
return;
134134
}
135135
if (!handler) {
136136
return handlers[event] = [];
137137
} else {
138138
i = 0;
139-
_results = [];
139+
results = [];
140140
while (i < handlers[event].length) {
141-
_ref = handlers[event][i], ctx = _ref[0], _handler = _ref[1];
141+
ref = handlers[event][i], ctx = ref[0], _handler = ref[1];
142142
if (_handler === handler) {
143-
_results.push(handlers[event].splice(i, 1));
143+
results.push(handlers[event].splice(i, 1));
144144
} else {
145-
_results.push(i++);
145+
results.push(i++);
146146
}
147147
}
148-
return _results;
148+
return results;
149149
}
150150
};
151151

152152
Offline.trigger = function(event) {
153-
var ctx, handler, _i, _len, _ref, _ref1, _results;
153+
var ctx, handler, j, len, ref, ref1, results;
154154
if (handlers[event] != null) {
155-
_ref = handlers[event];
156-
_results = [];
157-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
158-
_ref1 = _ref[_i], ctx = _ref1[0], handler = _ref1[1];
159-
_results.push(handler.call(ctx));
155+
ref = handlers[event];
156+
results = [];
157+
for (j = 0, len = ref.length; j < len; j++) {
158+
ref1 = ref[j], ctx = ref1[0], handler = ref1[1];
159+
results.push(handler.call(ctx));
160160
}
161-
return _results;
161+
return results;
162162
}
163163
};
164164

165165
checkXHR = function(xhr, onUp, onDown) {
166-
var checkStatus, _onerror, _onload, _onreadystatechange, _ontimeout;
166+
var _onerror, _onload, _onreadystatechange, _ontimeout, checkStatus;
167167
checkStatus = function() {
168168
if (xhr.status && xhr.status < 12000) {
169169
return onUp();
@@ -241,7 +241,7 @@
241241
Offline.confirmUp = Offline.confirmDown = Offline.check;
242242

243243
Offline.onXHR = function(cb) {
244-
var monitorXHR, _XDomainRequest, _XMLHttpRequest;
244+
var _XDomainRequest, _XMLHttpRequest, monitorXHR;
245245
monitorXHR = function(req, flags) {
246246
var _open;
247247
_open = req.open;
@@ -260,7 +260,7 @@
260260
};
261261
_XMLHttpRequest = window.XMLHttpRequest;
262262
window.XMLHttpRequest = function(flags) {
263-
var req, _overrideMimeType, _setRequestHeader;
263+
var _overrideMimeType, _setRequestHeader, req;
264264
req = new _XMLHttpRequest(flags);
265265
monitorXHR(req, flags);
266266
_setRequestHeader = req.setRequestHeader;
@@ -291,9 +291,9 @@
291291

292292
init = function() {
293293
if (Offline.getOption('interceptRequests')) {
294-
Offline.onXHR(function(_arg) {
294+
Offline.onXHR(function(arg) {
295295
var xhr;
296-
xhr = _arg.xhr;
296+
xhr = arg.xhr;
297297
if (xhr.offline !== false) {
298298
return checkXHR(xhr, Offline.markUp, Offline.confirmDown);
299299
}

js/reconnect.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@
1010
retryIntv = null;
1111

1212
reset = function() {
13-
var _ref;
13+
var ref;
1414
if ((rc.state != null) && rc.state !== 'inactive') {
1515
Offline.trigger('reconnect:stopped');
1616
}
1717
rc.state = 'inactive';
18-
return rc.remaining = rc.delay = (_ref = Offline.getOption('reconnect.initialDelay')) != null ? _ref : 3;
18+
return rc.remaining = rc.delay = (ref = Offline.getOption('reconnect.initialDelay')) != null ? ref : 3;
1919
};
2020

2121
next = function() {
22-
var delay, _ref;
23-
delay = (_ref = Offline.getOption('reconnect.delay')) != null ? _ref : Math.min(Math.ceil(rc.delay * 1.5), 3600);
22+
var delay, ref;
23+
delay = (ref = Offline.getOption('reconnect.delay')) != null ? ref : Math.min(Math.ceil(rc.delay * 1.5), 3600);
2424
return rc.remaining = rc.delay = delay;
2525
};
2626

js/requests.js

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,27 @@
1010
waitingOnConfirm = false;
1111

1212
holdRequest = function(req) {
13+
if (Offline.getOption('requests') === false) {
14+
return;
15+
}
1316
Offline.trigger('requests:capture');
1417
if (Offline.state !== 'down') {
1518
waitingOnConfirm = true;
1619
}
1720
return held.push(req);
1821
};
1922

20-
makeRequest = function(_arg) {
21-
var body, name, password, type, url, user, val, xhr, _ref;
22-
xhr = _arg.xhr, url = _arg.url, type = _arg.type, user = _arg.user, password = _arg.password, body = _arg.body;
23+
makeRequest = function(arg) {
24+
var body, name, password, ref, type, url, user, val, xhr;
25+
xhr = arg.xhr, url = arg.url, type = arg.type, user = arg.user, password = arg.password, body = arg.body;
26+
if (Offline.getOption('requests') === false) {
27+
return;
28+
}
2329
xhr.abort();
2430
xhr.open(type, url, true, user, password);
25-
_ref = xhr.headers;
26-
for (name in _ref) {
27-
val = _ref[name];
31+
ref = xhr.headers;
32+
for (name in ref) {
33+
val = ref[name];
2834
xhr.setRequestHeader(name, val);
2935
}
3036
if (xhr.mimeType) {
@@ -38,11 +44,14 @@
3844
};
3945

4046
flush = function() {
41-
var body, key, request, requests, url, _i, _len;
47+
var body, i, key, len, request, requests, url;
48+
if (Offline.getOption('requests') === false) {
49+
return;
50+
}
4251
Offline.trigger('requests:flush');
4352
requests = {};
44-
for (_i = 0, _len = held.length; _i < _len; _i++) {
45-
request = held[_i];
53+
for (i = 0, len = held.length; i < len; i++) {
54+
request = held[i];
4655
url = request.url.replace(/(\?|&)_=[0-9]+/, function(match, char) {
4756
if (char === '?') {
4857
return char;
@@ -57,9 +66,9 @@
5766
} else {
5867
body = body.toString();
5968
}
60-
requests["" + (request.type.toUpperCase()) + " - " + url + " - " + body] = request;
69+
requests[(request.type.toUpperCase()) + " - " + url + " - " + body] = request;
6170
} else {
62-
requests["" + (request.type.toUpperCase()) + " - " + url] = request;
71+
requests[(request.type.toUpperCase()) + " - " + url] = request;
6372
}
6473
}
6574
for (key in requests) {
@@ -82,7 +91,7 @@
8291
return waitingOnConfirm = false;
8392
});
8493
Offline.onXHR(function(request) {
85-
var async, hold, xhr, _onreadystatechange, _send;
94+
var _onreadystatechange, _send, async, hold, xhr;
8695
xhr = request.xhr, async = request.async;
8796
if (xhr.offline === false) {
8897
return;

js/simulate.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
(function() {
2-
var state, _base, _i, _len, _ref;
2+
var base, i, len, ref, state;
33

44
if (!Offline) {
55
throw new Error("Offline simulate brought in without offline.js");
66
}
77

8-
_ref = ['up', 'down'];
9-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
10-
state = _ref[_i];
8+
ref = ['up', 'down'];
9+
for (i = 0, len = ref.length; i < len; i++) {
10+
state = ref[i];
1111
if (document.querySelector("script[data-simulate='" + state + "']") || (typeof localStorage !== "undefined" && localStorage !== null ? localStorage.OFFLINE_SIMULATE : void 0) === state) {
1212
if (Offline.options == null) {
1313
Offline.options = {};
1414
}
15-
if ((_base = Offline.options).checks == null) {
16-
_base.checks = {};
15+
if ((base = Offline.options).checks == null) {
16+
base.checks = {};
1717
}
1818
Offline.options.checks.active = state;
1919
}

js/snake.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464
};
6565

6666
keyHandler = function(e) {
67-
var _ref;
68-
if ((37 <= (_ref = e.keyCode) && _ref <= 40)) {
67+
var ref;
68+
if ((37 <= (ref = e.keyCode) && ref <= 40)) {
6969
snake.direction = Math.PI / 2 * ((e.keyCode - 35) % 4);
7070
return false;
7171
}

js/ui.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
(function() {
2-
var RETRY_TEMPLATE, TEMPLATE, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime, _onreadystatechange;
2+
var RETRY_TEMPLATE, TEMPLATE, _onreadystatechange, addClass, content, createFromHTML, el, flashClass, flashTimeouts, init, removeClass, render, roundTime;
33

44
if (!window.Offline) {
55
throw new Error("Offline UI brought in without offline.js");
@@ -98,10 +98,10 @@
9898
return removeClass('offline-ui-waiting');
9999
});
100100
Offline.on('reconnect:tick', function() {
101-
var time, unit, _ref;
101+
var ref, time, unit;
102102
addClass('offline-ui-waiting');
103103
removeClass('offline-ui-connecting');
104-
_ref = roundTime(Offline.reconnect.remaining), time = _ref[0], unit = _ref[1];
104+
ref = roundTime(Offline.reconnect.remaining), time = ref[0], unit = ref[1];
105105
content.setAttribute('data-retry-in-value', time);
106106
return content.setAttribute('data-retry-in-unit', unit);
107107
});

0 commit comments

Comments
 (0)