in src/CloudEventFunctionWrapper.php [156:177]
private function fromBinaryRequest(
ServerRequestInterface $request,
$data // mixed, can be "string" or "array"
): CloudEvent {
$content = [];
foreach (self::$binaryModeHeaderAttrs as $attr) {
$ceHeader = 'ce-' . $attr;
if ($request->hasHeader($ceHeader)) {
$content[$attr] = $request->getHeaderLine($ceHeader);
}
}
$content['data'] = $data;
// For binary mode events the 'Content-Type' header corresponds to the
// 'datacontenttype' attribute. There is no 'ce-datacontenttype' header.
if ($request->hasHeader('content-type')) {
$content['datacontenttype'] = $request->getHeaderLine('content-type');
}
return CloudEvent::fromArray($content);
}