Commit 11024403 authored by Pavel Vainerman's avatar Pavel Vainerman

[http-client]: timeout processing

parent ca13e446
......@@ -21,11 +21,13 @@
#include <string>
#include <Poco/Net/HTTPClientSession.h>
#include "DebugStream.h"
#include "PassiveTimer.h"
// -------------------------------------------------------------------------
namespace uniset
{
namespace UHttp
{
/*! Simple http client interface */
class UHttpClient
{
public:
......@@ -33,10 +35,15 @@ namespace uniset
UHttpClient();
virtual ~UHttpClient();
// http://site.com/query?params
// \return ""
// request example: http://site.com/query?params
// \return "" if fail
std::string get( const std::string& host, int port, const std::string& request );
void setTimeout( uniset::timeout_t usec );
// in microseconds
uniset::timeout_t getTimeout();
protected:
Poco::Net::HTTPClientSession session;
......
......@@ -38,15 +38,26 @@ namespace uniset
{
}
// -------------------------------------------------------------------------
void UHttpClient::setTimeout( uniset::timeout_t usec )
{
session.setTimeout( uniset::PassiveTimer::microsecToPoco(usec));
}
// -------------------------------------------------------------------------
uniset::timeout_t UHttpClient::getTimeout()
{
return session.getTimeout().totalMicroseconds();
}
// -------------------------------------------------------------------------
std::string UHttpClient::get( const std::string& host, int port, const std::string& query )
{
session.setHost(host);
session.setPort(port);
HTTPRequest request(HTTPRequest::HTTP_GET, query, HTTPMessage::HTTP_1_1);
try
{
session.sendRequest(request);
HTTPResponse response;
std::istream& rs = session.receiveResponse(response);
if( response.getStatus() != Poco::Net::HTTPResponse::HTTP_OK )
return "";
......@@ -54,6 +65,10 @@ namespace uniset
Poco::StreamCopier::copyStream(rs, ret);
return ret.str();
}
catch( const std::exception& e ){}
return "";
}
// -------------------------------------------------------------------------
} // end of namespace uniset
// -------------------------------------------------------------------------
......
......@@ -190,6 +190,43 @@
./extensions/SMViewer/Makefile.am
./extensions/SMViewer/SMViewer.cc
./extensions/SMViewer/SMViewer.h
./extensions/tests1/Makefile.am
./extensions/tests1/MBSlaveTest/Makefile.am
./extensions/tests1/MBSlaveTest/mbslave-test.cc
./extensions/tests1/MBSlaveTest/TestProc.cc
./extensions/tests1/MBSlaveTest/TestProc.h
./extensions/tests1/MBSlaveTest/testproc.src.xml
./extensions/tests1/MQPerfTest/Makefile.am
./extensions/tests1/MQPerfTest/mq-test.cc
./extensions/tests1/MQPerfTest/TestProc.cc
./extensions/tests1/MQPerfTest/TestProc.h
./extensions/tests1/MQPerfTest/testproc.src.xml
./extensions/tests1/r/t.cc
./extensions/tests1/SMemoryTest/LostPassiveTestProc.cc
./extensions/tests1/SMemoryTest/LostPassiveTestProc.h
./extensions/tests1/SMemoryTest/LostTestProc.cc
./extensions/tests1/SMemoryTest/LostTestProc.h
./extensions/tests1/SMemoryTest/losttestproc.src.xml
./extensions/tests1/SMemoryTest/Makefile.am
./extensions/tests1/SMemoryTest/smemory-test.cc
./extensions/tests1/SMemoryTest/sm-lostmessage-test.cc
./extensions/tests1/SMemoryTest/TestProc.cc
./extensions/tests1/SMemoryTest/TestProc.h
./extensions/tests1/SMemoryTest/testproc.src.xml
./extensions/tests1/sm_perf_test2.cc
./extensions/tests1/sm_perf_test.cc
./extensions/tests1/sz.cc
./extensions/tests1/test_calibration.cc
./extensions/tests1/test_digitalfilter.cc
./extensions/tests1/test_iobase.cc
./extensions/tests1/test_iobase_with_sm.cc
./extensions/tests1/test_restapi_uniset.cc
./extensions/tests1/tests.cc
./extensions/tests1/tests_with_conf.cc
./extensions/tests1/tests_with_sm.cc
./extensions/tests1/tests_with_sm.h
./extensions/tests1/test_ui.cc
./extensions/tests1/test_vtypes.cc
./extensions/tests/Makefile.am
./extensions/tests/MBSlaveTest/Makefile.am
./extensions/tests/MBSlaveTest/mbslave-test.cc
......@@ -232,6 +269,7 @@
./extensions/UNetUDP/tests/Makefile.am
./extensions/UNetUDP/tests/tests_individual_process.cc
./extensions/UNetUDP/tests/tests_with_sm.cc
./extensions/UNetUDP/tests/test_unetudp1.cc
./extensions/UNetUDP/tests/test_unetudp.cc
./extensions/UNetUDP/tests/u.cc
./extensions/UNetUDP/tests/urecv_perf_test.cc
......@@ -336,7 +374,6 @@
./include/unisetstd.h
./include/UniSetTypes.h
./include/UniXML.h
./include/UResolver.h
./include/USocket.h
./include/UTCPCore.h
./include/UTCPSocket.h
......@@ -386,8 +423,6 @@
./src/Core/UniSetObject_iSK.cc
./src/Core/UniSetTypes.cc
./src/Core/UniSetTypes_iSK.cc
./src/Core/UResolver.cc
./src/Core/UResolver_iSK.cc
./src/Log/Debug.cc
./src/Log/DebugExtBuf.h
./src/Log/DebugStream.cc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment