docs: function updateCheckRequest() {
      return updateCheckData()
          .then(function then(reqData) {
              let reqObj = {
                      timeout: 1000,
                      headers: {}
                  },
                  checkEndpoint = config.get('updateCheck:url'),
                  checkMethod = config.isPrivacyDisabled('useUpdateCheck') ? 'GET' : 'POST';
  
              // CASE: Expose stats and do a check-in
              if (checkMethod === 'POST') {
                  reqObj.json = true;
                  reqObj.body = reqData;
                  reqObj.headers['Content-Length'] = Buffer.byteLength(JSON.stringify(reqData));
                  reqObj.headers['Content-Type'] = 'application/json';
              } else {
                  reqObj.json = true;
                  reqObj.query = {
                      ghost_version: reqData.ghost_version
                  };
              }
  
              debug('Request Update Check Service', checkEndpoint);
  
              return request(checkEndpoint, reqObj)
                  .then(function (response) {
                      return response.body;
                  })
                  .catch(function (err) {
                      // CASE: no notifications available, ignore
                      if (err.statusCode === 404) {
                          return {
                              next_check: nextCheckTimestamp(),
                              notifications: []
                          };
                      }
  
                      // CASE: service returns JSON error, deserialize into JS error
                      if (err.response && err.response.body && typeof err.response.body === 'object') {
                          err = common.errors.utils.deserialize(err.response.body);
                      }
  
                      throw err;
                  });
          });
  }