whole_func_string: function PgtServer(casURL, pgtURL, serverCertificate, serverKey, serverCA) {
    var parsedURL = url.parse(pgtURL);
    var cas = new CAS({
      base_url: casURL,
      version: 2.0,
      pgt_server: true,
      pgt_host: parsedURL.hostname,
      pgt_port: parsedURL.port,
      ssl_key: serverKey,
      ssl_cert: serverCertificate,
      ssl_ca: serverCA || null
    });
  }
func_code_string: function PgtServer(casURL, pgtURL, serverCertificate, serverKey, serverCA) {
    var parsedURL = url.parse(pgtURL);
    var cas = new CAS({
      base_url: casURL,
      version: 2.0,
      pgt_server: true,
      pgt_host: parsedURL.hostname,
      pgt_port: parsedURL.port,
      ssl_key: serverKey,
      ssl_cert: serverCertificate,
      ssl_ca: serverCA || null
    });
  }
func_documentation_string: Start a CAS PGT callback server. PGT stands for proxy granting ticket.
  
  This is the server needed to obtain CAS tickets for 3rd party services on
  behalf of the user. It is typically run as a separate process from the
  application. Multiple applications may share the same PGT callback server.
  
  @param {String} casURL
  The URL of the CAS server.
  @param {String} pgtURL
  The URL of this PGT callback server. It must use HTTPS and be accessible
  by the CAS server over the network.
  The 3rd party services you request may need to whitelist this URL.
  @param {String} serverCertificate
  The SSL certificate for this PGT callback server.
  @param {String} serverKey
  The key for the SSL certificate.
  @param {Array} serverCA
  Optional array of SSL CA and intermediate CA certificates
  @api public