Jose\Util\JWSLoader::populatePayload PHP Method

populatePayload() private static method

private static populatePayload ( Jose\Object\JWSInterface &$jws, array $data )
$jws Jose\Object\JWSInterface
$data array
    private static function populatePayload(JWSInterface &$jws, array $data)
    {
        $is_encoded = null;
        foreach ($jws->getSignatures() as $signature) {
            if (null === $is_encoded) {
                $is_encoded = self::isPayloadEncoded($signature);
            }
            Assertion::eq($is_encoded, self::isPayloadEncoded($signature), 'Foreign payload encoding detected. The JWS cannot be loaded.');
        }
        if (array_key_exists('payload', $data)) {
            $payload = $data['payload'];
            $jws = $jws->withAttachedPayload();
            $jws = $jws->withEncodedPayload($payload);
            if (false !== $is_encoded) {
                $payload = Base64Url::decode($payload);
            }
            $json = json_decode($payload, true);
            if (null !== $json && !empty($payload)) {
                $payload = $json;
            }
            $jws = $jws->withPayload($payload);
        } else {
            $jws = $jws->withDetachedPayload();
        }
    }