private function fromBinaryRequest()

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);
    }