client/src/api/APIClient.js
changeset 97 69eaef18b01b
parent 87 dbcee57de2c6
child 129 d48946d164c6
equal deleted inserted replaced
96:b58463d7dc8e 97:69eaef18b01b
     8   }
     8   }
     9 
     9 
    10   createRequest = (method, uri, data, headers) => {
    10   createRequest = (method, uri, data, headers) => {
    11 
    11 
    12     headers = headers || new Headers();
    12     headers = headers || new Headers();
    13     headers.append("Content-Type", "application/json");
    13     if(method !== 'HEAD') {
       
    14       headers.append("Content-Type", "application/json");
       
    15     } else {
       
    16       headers.append("Content-Type", "text/plain");
       
    17     }
       
    18 
    14 
    19 
    15     var options = {
    20     var options = {
    16       method: method,
    21       method: method,
    17       headers: headers,
    22       headers: headers,
    18     };
    23     };
    44 
    49 
    45     return this.createRequest(method, uri, data, headers);
    50     return this.createRequest(method, uri, data, headers);
    46   }
    51   }
    47 
    52 
    48   request = (method, uri, data) => {
    53   request = (method, uri, data) => {
    49     console.log(method + ' ' + uri);
       
    50     var req = this.hasToken() ? this.createAuthorizedRequest(method, uri, data) : this.createRequest(method, uri, data);
    54     var req = this.hasToken() ? this.createAuthorizedRequest(method, uri, data) : this.createRequest(method, uri, data);
    51     return this.fetch(req, { credentials: 'include' });
    55     return this.fetch(req, { credentials: 'include' });
    52   }
    56   }
    53 
    57 
    54   get = (uri, data) => {
    58   get = (uri, data) => {
    70           if (response.ok) {
    74           if (response.ok) {
    71             let resJsonPromise;
    75             let resJsonPromise;
    72             if(response.status === 204) {
    76             if(response.status === 204) {
    73               resJsonPromise = Promise.resolve({});
    77               resJsonPromise = Promise.resolve({});
    74             } else {
    78             } else {
    75               resJsonPromise = response.json();
    79               resJsonPromise = response.text().then(data => {
       
    80                 if(data.length > 0) {
       
    81                   return JSON.parse(data);
       
    82                 } else {
       
    83                   return {};
       
    84                 }
       
    85               });
    76             }
    86             }
    77             return resJsonPromise.then((data) => resolve(data));
    87             return resJsonPromise.then(data => resolve(data));
    78 
    88 
    79           } else {
    89           } else {
    80             return response.json().then((data) => reject(data));
    90             return response.json().then(data => reject(data));
    81           }
    91           }
    82         })
    92         })
    83         .catch((error) => {
    93         .catch((error) => {
    84           reject({error});
    94           reject({error});
    85         });
    95         });