SearchablePtr sptr;
xsltStylesheetPtr xsp;
std::string content_session_id;
+ bool enable_cproxy;
public:
Backend(SearchablePtr sptr);
~Backend();
char **addinfo,
ODR odr,
std::string authentication,
- std::string proxy);
+ std::string proxy,
+ std::string realm);
void prepare_elements(BackendPtr b,
Odr_oid *preferredRecordSyntax,
ZOOM_connection_save_apdu_wrbuf(m_connection, m_apdu_wrbuf);
m_resultset = 0;
xsp = 0;
+ enable_cproxy = true;
}
yf::Zoom::Backend::~Backend()
int *error, char **addinfo,
ODR odr,
std::string authentication,
- std::string proxy)
+ std::string proxy,
+ std::string realm)
{
if (b->sptr->contentConnector.length())
{
wrbuf_printf(w, "auth: %s\n", authentication.c_str());
if (proxy.length())
wrbuf_printf(w, "proxy: %s\n", proxy.c_str());
+ if (realm.length())
+ wrbuf_printf(w, "realm: %s\n", realm.c_str());
fwrite(wrbuf_buf(w), 1, wrbuf_len(w), file);
fclose(file);
b->xsp = xsp;
b->m_frontend_database = database;
+ b->enable_cproxy = param_nocproxy ? false : true;
if (sptr->query_encoding.length())
b->set_option("rpnCharset", sptr->query_encoding);
}
package.log("zoom", YLOG_LOG, "url: %s", url.c_str());
b->connect(url, error, addinfo, odr);
- if (*error == 0 && !param_nocproxy)
+ if (*error == 0 && b->enable_cproxy)
create_content_session(package, b, error, addinfo, odr,
content_authentication.length() ?
content_authentication : authentication,
- content_proxy.length() ? content_proxy : proxy);
+ content_proxy.length() ? content_proxy : proxy,
+ realm);
if (*error == 0)
m_backend = b;
return b;
}
}
- if (rec_buf)
+ if (rec_buf && b->enable_cproxy)
{
xmlDoc *doc = xmlParseMemory(rec_buf, rec_len);
std::string res =