Пример #1
0
 function translateServer($serverName)
 {
     // use SSL if forced on proxy or original request was using SSL
     $protocol = "http" . ($this->forceSSL || usingSslFromUserToWorkbench() ? "s" : "");
     $port = $this->port == "" ? "" : ":" . $this->port;
     return $protocol . "://" . $serverName . $port;
 }
Пример #2
0
 private function oauthBuildRedirectUrl()
 {
     return "http" . (usingSslFromUserToWorkbench() ? "s" : "") . "://" . WorkbenchConfig::get()->valueOrElse("oauthRedirectHost", $_SERVER['HTTP_HOST']) . str_replace('\\', '/', dirname(htmlspecialchars($_SERVER['PHP_SELF']))) . (strlen(dirname(htmlspecialchars($_SERVER['PHP_SELF']))) == 1 ? "" : "/") . basename($_SERVER['SCRIPT_NAME']);
 }
 function getStreamingConfig()
 {
     $streamingConfig["handshakeOnLoad"] = true;
     // TODO: make this configurable
     $streamingConfig["csrfToken"] = getCsrfToken();
     // configs in "$streamingConfig["cometdConfig"]" are loaded into CometD in JS and need to match their format
     $streamingConfig["cometdConfig"]["logLevel"] = "info";
     $streamingConfig["cometdConfig"]["appendMessageTypeToURL"] = false;
     $streamingConfig["cometdConfig"]["advice"]["timeout"] = (int) WorkbenchConfig::get()->valueOrElse("streamingAdviceTimeout", 25000);
     $streamingConfig["cometdConfig"]["advice"]["interval"] = 0;
     $streamingConfig["cometdConfig"]["advice"]["reconnect"] = "retry";
     $streamingConfig["cometdConfig"]["url"] = "http" . (usingSslFromUserToWorkbench() ? "s" : "") . "://" . $_SERVER['HTTP_HOST'] . str_replace('\\', '/', dirname(htmlspecialchars($_SERVER['PHP_SELF']))) . (strlen(dirname(htmlspecialchars($_SERVER['PHP_SELF']))) == 1 ? "" : "/") . "cometdProxy.php";
     return json_encode($streamingConfig);
 }
Пример #4
0
}
$sessionStore = WorkbenchConfig::get()->value("sessionStore");
// If $sessionStore starts with redis://, convert to format for Redis extension and set as the session save handler
// IN:  redis://user:pass@host:port/
// OUT: tcp://host:port?auth=pass
if (strpos($sessionStore, "redis://") === 0) {
    $redisUrl = "tcp://" . parse_url($sessionStore, PHP_URL_HOST) . ":" . parse_url($sessionStore, PHP_URL_PORT);
    if (!is_array(parse_url($sessionStore, PHP_URL_PASS))) {
        $redisUrl .= "?auth=" . parse_url($sessionStore, PHP_URL_PASS);
    }
    ini_set("session.save_path", $redisUrl);
    ini_set("session.save_handler", "redis");
}
ini_set("session.cookie_httponly", "1");
session_start();
if (WorkbenchConfig::get()->value("redirectToHTTPS") && !usingSslFromUserToWorkbench()) {
    header("Location: " . "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    exit;
}
workbenchLog(LOG_INFO, "U", $logTail);
if (WorkbenchContext::isEstablished()) {
    WorkbenchContext::get()->beginRequestHook();
}
//clear ResultsWithData and retrievedZips from session unless downloading them
if (isset($_SESSION['resultsWithData']) && basename($_SERVER['PHP_SELF']) != 'downloadResultsWithData.php') {
    unset($_SESSION['resultsWithData']);
}
if (isset($_SESSION['retrievedZips']) && basename($_SERVER['PHP_SELF']) != 'metadataStatus.php') {
    unset($_SESSION['retrievedZips']);
}
if (WorkbenchContext::isEstablished() && isset($_REQUEST['clearCache'])) {
Пример #5
0
function usingSslEndToEnd()
{
    return usingSslFromUserToWorkbench() && usingSslFromWorkbenchToSfdc();
}