Google\Cloud\Storage\EncryptionTrait::formatEncryptionHeaders PHP Method

formatEncryptionHeaders() public method

Formats options for customer-supplied encryption headers.
public formatEncryptionHeaders ( array $options ) : array
$options array
return array
    public function formatEncryptionHeaders(array $options)
    {
        $encryptionHeaders = [];
        $useCopySourceHeaders = isset($options['useCopySourceHeaders']) ? $options['useCopySourceHeaders'] : false;
        $key = isset($options['encryptionKey']) ? $options['encryptionKey'] : null;
        $keySHA256 = isset($options['encryptionKeySHA256']) ? $options['encryptionKeySHA256'] : null;
        $destinationKey = isset($options['destinationEncryptionKey']) ? $options['destinationEncryptionKey'] : null;
        $destinationKeySHA256 = isset($options['destinationEncryptionKeySHA256']) ? $options['destinationEncryptionKeySHA256'] : null;
        unset($options['useCopySourceHeaders']);
        unset($options['encryptionKey']);
        unset($options['encryptionKeySHA256']);
        unset($options['destinationEncryptionKey']);
        unset($options['destinationEncryptionKeySHA256']);
        $encryptionHeaders = $this->buildHeaders($key, $keySHA256, $useCopySourceHeaders) + $this->buildHeaders($destinationKey, $destinationKeySHA256, false);
        if (!empty($encryptionHeaders)) {
            if (isset($options['httpOptions']['headers'])) {
                $options['httpOptions']['headers'] += $encryptionHeaders;
            } else {
                $options['httpOptions']['headers'] = $encryptionHeaders;
            }
        }
        return $options;
    }