public function __construct()

in app/Http/Middleware/DTInterceptor.php [24:79]


    public function __construct()
    {
        $buildForwardingWillDisabledMsg = function (string $reason): string {
            return $reason . ' - forwarding to other backend services will be disabled';
        };

        $serviceName = config('app.name');
        $probabilityEnvVarVal = env(self::OPBEANS_DT_PROBABILITY_ENV_VAR_NAME);
        if ($probabilityEnvVarVal === null) {
            Log::info(
                $buildForwardingWillDisabledMsg(
                    self::OPBEANS_DT_PROBABILITY_ENV_VAR_NAME . ' environment variable is not set'
                ),
                ['this' => $this->selfToLog()]
            );
            return;
        }

        if (filter_var($probabilityEnvVarVal, FILTER_VALIDATE_FLOAT) === false) {
            $probability = self::OPBEANS_DT_PROBABILITY_DEFAULT;
            Log::error(
                self::OPBEANS_DT_PROBABILITY_ENV_VAR_NAME . ' environment variable value'
                . ' (' . $probabilityEnvVarVal. ')'
                . ' is not a valid float - using default value (' . self::OPBEANS_DT_PROBABILITY_DEFAULT . ')'
            );
        } else {
            $probability = floatval($probabilityEnvVarVal);
        }

        $servicesEnvVarVal = env(self::OPBEANS_SERVICES_ENV_VAR_NAME);
        if ($servicesEnvVarVal === null) {
            Log::info(
                $buildForwardingWillDisabledMsg(
                    self::OPBEANS_SERVICES_ENV_VAR_NAME . ' environment variable is not set'
                ),
                ['this' => $this->selfToLog()]
            );
            return;
        }

        $services = self::parseServices($servicesEnvVarVal);
        if (empty($services)) {
            Log::error(
                $buildForwardingWillDisabledMsg(
                    self::OPBEANS_SERVICES_ENV_VAR_NAME . ' environment variable does not contain valid URLs'
                ),
                ['this' => $this->selfToLog()]
            );
            return;
        }

        $this->probability = $probability;
        $this->services = $services;
        $this->isEnabled = true;
        Log::info('Forwarding to other backend services is enabled', ['this' => $this->selfToLog()]);
    }