function httpRequest()

in public/lib/http-session-service.js [20:62]


    function httpRequest(options = {}) {

        return new Promise((resolve, reject) => {

            $http(options)
                .then(resolve, (err) => {

                    // Check whether session has become invalid
                    if (err && (err.status === 401 || err.status === 419)) {

                        if(options.retryCount > MAX_RETRIES) {
                           throw new Error('Could not re-establish session (exceeded max retries): ' + err);
                        } else {
                            options.retryCount = options.retryCount ? options.retryCount + 1 : 1;
                        }

                        $log.info('Invalid session, attempting to re-establish');

                        wfUserSession.reEstablishSession().then(
                            (data) => {
                                $log.info('Session re-established');

                                // Try the request again
                                return httpRequest(options);
                            },

                            (err) => {
                                var sessionError = new Error('Could not re-establish session: ' + err);
                                sessionError.name = 'SessionError';
                                throw sessionError;
                            }

                        ).then(resolve, reject);

                    } else {
                        reject(buildHttpError(err));
                    }

                });

        });

    }