public function getResponse($code = ResponseCode::NO_CONTENT, $content = null, $headers = [])
    {
        $response = clone $this->baseResponse;

        if ($code !== false) {
            $response->setStatus($code);
        }

        if ($content !== false) {
            $response->setBody($content);
        }

        if ($this->headersMode === self::HEADERS_MODE_ADD) {
            foreach ($headers as $name => $value) {
                $response->addHeader($name, $value);
            }

        } else {
            foreach ($headers as $name => $value) {
                $response->setHeader($name, $value);
            }
        }

        return $response;
    }