Source: security/gdb-token-authentication.js

const Authentication = require('./authentication');
const HttpRequestBuilder = require('../http/http-request-builder');

/**
 * Gdb token authentication type class.
 * Used for gdb token authentication against secured gdb server.
 *
 * @class
 * @author Teodossi Dossev
 */
export class GdbTokenAuthentication extends Authentication {
  /**
   * @override
   * @return {HttpRequestBuilder} requestBuilder
   */
  getLoginRequestBuilder() {
    const username = this.clientConfig.getUsername();
    const pass = this.clientConfig.getPass();

    return HttpRequestBuilder.httpPost(`/rest/login/${username}`)
      .addGraphDBPasswordHeader(pass);
  }

  /**
   * @override
   * @return {string} token
   */
  getResponseAuthToken(response) {
    return response.headers['authorization'];
  }
}

module.exports = GdbTokenAuthentication;