github.com/emate/nomad@v0.8.2-wo-binpacking/ui/app/services/token.js (about)

     1  import Service from '@ember/service';
     2  import { computed } from '@ember/object';
     3  import { assign } from '@ember/polyfills';
     4  import fetch from 'nomad-ui/utils/fetch';
     5  
     6  export default Service.extend({
     7    secret: computed({
     8      get() {
     9        return window.sessionStorage.nomadTokenSecret;
    10      },
    11      set(key, value) {
    12        if (value == null) {
    13          window.sessionStorage.removeItem('nomadTokenSecret');
    14        } else {
    15          window.sessionStorage.nomadTokenSecret = value;
    16        }
    17  
    18        return value;
    19      },
    20    }),
    21  
    22    authorizedRequest(url, options = { credentials: 'include' }) {
    23      const headers = {};
    24      const token = this.get('secret');
    25  
    26      if (token) {
    27        headers['X-Nomad-Token'] = token;
    28      }
    29  
    30      return fetch(url, assign(options, { headers }));
    31    },
    32  });