private function preparePayload($payload, Compression\CompressionInterface $compression_method = null)
{
$prepared = is_string($payload) ? $payload : json_encode($payload);
Assertion::notNull($prepared, 'The payload is empty or cannot encoded into JSON.');
if (null === $compression_method) {
return $prepared;
}
$compressed_payload = $compression_method->compress($prepared);
Assertion::string($compressed_payload, 'Compression failed.');
return $compressed_payload;
}