ConnStateData::BorrowPinnedConnection(HttpRequest *request, const AccessLogEntryPointer &ale)
{
    if (const auto connManager = request ? request->pinnedConnection() : nullptr)
        return connManager->borrowPinnedConnection(request, ale);

    // ERR_CANNOT_FORWARD is somewhat misleading here; we can still forward, but
    // there is no point since the client connection is now gone
    HttpRequestPointer requestPointer = request;
    throw ErrorState::NewForwarding(ERR_CANNOT_FORWARD, requestPointer, ale);
}
ConnStateData::BorrowPinnedConnection(HttpRequest *request, const AccessLogEntryPointer &ale)
{
    if (const auto connManager = request ? request->pinnedConnection() : nullptr)
        return connManager->borrowPinnedConnection(request, ale);

     
     
    HttpRequestPointer requestPointer = request;
    throw ErrorState::NewForwarding(ERR_CANNOT_FORWARD, requestPointer, ale);
}