public function post($url, $body = null, $type = 'application/octet-stream',
        $timeout = null, array $headers = []
    ) {
        $client
            = $this->createClient($url, \Zend\Http\Request::METHOD_POST, $timeout);
        $client->setRawBody($body);
        $client->setHeaders(
            array_merge(
                ['Content-Type' => $type, 'Content-Length' => strlen($body)],
                $headers
            )
        );
        return $this->send($client);
    }