|
reSIProcate/repro
9694
|
#include <SimpleStaticRoute.hxx>


Public Member Functions | |
| SimpleStaticRoute (ProxyConfig &config) | |
| virtual | ~SimpleStaticRoute () |
| virtual processor_action_t | process (RequestContext &) |
Private Attributes | |
| resip::NameAddrs | mRouteSet |
Definition at line 11 of file SimpleStaticRoute.hxx.
| SimpleStaticRoute::SimpleStaticRoute | ( | ProxyConfig & | config | ) |
Definition at line 22 of file SimpleStaticRoute.cxx.
: Processor("SimpleStaticRoute") { std::vector<Data> routeSet; config.getConfigValue("Routes", routeSet); resip::NameAddrs routes; for (std::vector<Data>::iterator i=routeSet.begin(); i != routeSet.end(); ++i) { try { mRouteSet.push_back(NameAddr(*i)); } catch(BaseException& ex) { WarningLog(<< "SimpleStaticRoute: Skipping invalid route (" << *i << "): " << ex); } } }
| SimpleStaticRoute::~SimpleStaticRoute | ( | ) | [virtual] |
Definition at line 43 of file SimpleStaticRoute.cxx.
{}
| Processor::processor_action_t SimpleStaticRoute::process | ( | RequestContext & | context | ) | [virtual] |
Implements repro::Processor.
Definition at line 48 of file SimpleStaticRoute.cxx.
{
DebugLog(<< "Monkey handling request: " << *this
<< "; reqcontext = " << context);
resip::SipMessage& request = context.getOriginalRequest();
const Uri& uri = request.header(h_RequestLine).uri();
if (context.getProxy().isMyUri(uri))
{
const resip::NameAddrs& current = request.header(h_Routes);
resip::NameAddrs replace = mRouteSet;
for (resip::NameAddrs::const_iterator i=current.begin(); i != current.end(); ++i)
{
replace.push_back(*i);
}
request.header(h_Routes) = replace;
context.getResponseContext().addTarget(NameAddr(uri));
InfoLog (<< "New route set is " << Inserter(request.header(h_Routes)));
}
return Processor::Continue;
}
Definition at line 20 of file SimpleStaticRoute.hxx.
1.7.5.1