mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-09 19:17:38 +01:00
71 lines
1.5 KiB
C++
71 lines
1.5 KiB
C++
//
|
|
// HTTPSSessionInstantiator.cpp
|
|
//
|
|
// Library: NetSSL_Win
|
|
// Package: HTTPSClient
|
|
// Module: HTTPSSessionInstantiator
|
|
//
|
|
// Copyright (c) 2006-2009, Applied Informatics Software Engineering GmbH.
|
|
// and Contributors.
|
|
//
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
//
|
|
|
|
|
|
#include "Poco/Net/HTTPSSessionInstantiator.h"
|
|
#include "Poco/Net/HTTPSessionFactory.h"
|
|
#include "Poco/Net/HTTPSClientSession.h"
|
|
|
|
|
|
namespace Poco {
|
|
namespace Net {
|
|
|
|
|
|
HTTPSSessionInstantiator::HTTPSSessionInstantiator()
|
|
{
|
|
}
|
|
|
|
|
|
HTTPSSessionInstantiator::HTTPSSessionInstantiator(Context::Ptr pContext) :
|
|
_pContext(pContext)
|
|
{
|
|
}
|
|
|
|
|
|
HTTPSSessionInstantiator::~HTTPSSessionInstantiator()
|
|
{
|
|
}
|
|
|
|
|
|
HTTPClientSession* HTTPSSessionInstantiator::createClientSession(const Poco::URI& uri)
|
|
{
|
|
poco_assert (uri.getScheme() == "https");
|
|
HTTPSClientSession* pSession = _pContext.isNull() ? new HTTPSClientSession(uri.getHost(), uri.getPort()) : new HTTPSClientSession(uri.getHost(), uri.getPort(), _pContext);
|
|
if (!getProxyConfig().host.empty())
|
|
{
|
|
pSession->setProxyConfig(getProxyConfig());
|
|
}
|
|
return pSession;
|
|
}
|
|
|
|
|
|
void HTTPSSessionInstantiator::registerInstantiator()
|
|
{
|
|
HTTPSessionFactory::defaultFactory().registerProtocol("https", new HTTPSSessionInstantiator);
|
|
}
|
|
|
|
|
|
void HTTPSSessionInstantiator::registerInstantiator(Context::Ptr context)
|
|
{
|
|
HTTPSessionFactory::defaultFactory().registerProtocol("https", new HTTPSSessionInstantiator(context));
|
|
}
|
|
|
|
|
|
void HTTPSSessionInstantiator::unregisterInstantiator()
|
|
{
|
|
HTTPSessionFactory::defaultFactory().unregisterProtocol("https");
|
|
}
|
|
|
|
|
|
} } // namespace Poco::Net
|