Sha256: 5c6db87e32fbb5c324553347fb65c6f594704a3ea43b43580544de652772c8dd

Contents?: true

Size: 979 Bytes

Versions: 4

Compression:

Stored size: 979 Bytes

Contents

Spree.ready(function() {
  var appendAuthHeaders = function(xhr, settings) {
    for (var key in Spree.accessTokenData) {
      xhr.setRequestHeader(key, Spree.accessTokenData[key]);
    }
  };

  var updateAuthCredentials = function(ev, xhr, settings) {
    $("#progress").hide();

    var newHeaders = {};

    // set flag to ensure that we don't accidentally nuke the headers
    // if the response tokens aren't sent back from the API
    var blankHeaders = true;

    Spree.accessTokenKeys.forEach(function(key) {
      newHeaders[key] = xhr.getResponseHeader(key);

      if(newHeaders[key])
        blankHeaders = false;
    });

    if(blankHeaders) return;

    for(var key in newHeaders) {
      Spree.accessTokenData[key] = newHeaders[key];
    }
  };

  // intercept requests to the API, append auth headers
  $.ajaxSetup({ beforeSend: appendAuthHeaders });

  // update auth creds after each request to the API
  $(document).ajaxComplete(updateAuthCredentials);
});

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
solidus_backend_devise_token_auth-2.8.0.alpha.14 app/assets/javascripts/spree/backend/devise_token_auth.js
solidus_backend_devise_token_auth-2.8.0.alpha.13 app/assets/javascripts/spree/backend/devise_token_auth.js
solidus_backend_devise_token_auth-2.8.0.alpha.12 app/assets/javascripts/spree/backend/devise_token_auth.js
solidus_backend_devise_token_auth-2.8.0.alpha.11 app/assets/javascripts/spree/backend/devise_token_auth.js