mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-09 19:17:38 +01:00
69 lines
1.3 KiB
C++
69 lines
1.3 KiB
C++
//
|
|
// HTTPSessionInstantiator.cpp
|
|
//
|
|
// Library: Net
|
|
// Package: HTTPClient
|
|
// Module: HTTPSessionInstantiator
|
|
//
|
|
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
|
// and Contributors.
|
|
//
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
//
|
|
|
|
|
|
#include "Poco/Net/HTTPSessionInstantiator.h"
|
|
#include "Poco/Net/HTTPSessionFactory.h"
|
|
#include "Poco/Net/HTTPClientSession.h"
|
|
|
|
|
|
using Poco::URI;
|
|
|
|
|
|
namespace Poco {
|
|
namespace Net {
|
|
|
|
|
|
HTTPSessionInstantiator::HTTPSessionInstantiator()
|
|
{
|
|
}
|
|
|
|
|
|
HTTPSessionInstantiator::~HTTPSessionInstantiator()
|
|
{
|
|
}
|
|
|
|
|
|
HTTPClientSession* HTTPSessionInstantiator::createClientSession(const Poco::URI& uri)
|
|
{
|
|
poco_assert (uri.getScheme() == "http");
|
|
HTTPClientSession* pSession = new HTTPClientSession(uri.getHost(), uri.getPort());
|
|
if (!getProxyConfig().host.empty())
|
|
{
|
|
pSession->setProxyConfig(getProxyConfig());
|
|
}
|
|
return pSession;
|
|
}
|
|
|
|
|
|
void HTTPSessionInstantiator::registerInstantiator()
|
|
{
|
|
HTTPSessionFactory::defaultFactory().registerProtocol("http", new HTTPSessionInstantiator);
|
|
}
|
|
|
|
|
|
void HTTPSessionInstantiator::unregisterInstantiator()
|
|
{
|
|
HTTPSessionFactory::defaultFactory().unregisterProtocol("http");
|
|
}
|
|
|
|
|
|
void HTTPSessionInstantiator::setProxyConfig(const HTTPClientSession::ProxyConfig& proxyConfig)
|
|
{
|
|
_proxyConfig = proxyConfig;
|
|
}
|
|
|
|
|
|
|
|
} } // namespace Poco::Net
|