source: Dev/trunk/src/client/qed-client/store/request.js @ 464

Last change on this file since 464 was 464, checked in by hendrikvanantwerpen, 12 years ago

Working deployment to Heroku.

File size: 1.1 KB
Line 
1define([
2    "dojo/Deferred",
3    "dojo/request"
4], function(Deferred, request) {
5
6    var authenticated = true;
7    var queue = [];
8   
9    var _request = function(url, options) {
10        var dfd = new Deferred();
11        if ( authenticated ) {
12            var req = request(url,options);
13
14            // forward successfull response
15            req.then(function(data){
16                dfd.resolve(data);
17            });
18           
19            req.response.then(function(response){
20                // if we are recovering, launch other requests
21            }, function(error) {
22                if ( error.response.status === 401 ) {
23                    queue.push({
24                        url: url,
25                        options: options,
26                        dfd: dfd
27                    });
28                    console.log("Retry goes here :)");
29                } else {
30                    dfd.reject(error);
31                }
32            });
33        } else {
34            queue.push({
35                url: url,
36                options: options,
37                dfd: dfd
38            });
39        }
40        return dfd.promise;
41    };
42    return _request;
43});
Note: See TracBrowser for help on using the repository browser.