projects
/
metaproxy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
zoom: Handle authentication element
[metaproxy-moved-to-github.git]
/
src
/
filter_zoom.cpp
diff --git
a/src/filter_zoom.cpp
b/src/filter_zoom.cpp
index
de07272
..
68252b2
100644
(file)
--- a/
src/filter_zoom.cpp
+++ b/
src/filter_zoom.cpp
@@
-42,6
+42,7
@@
namespace yf = mp::filter;
namespace metaproxy_1 {
namespace filter {
struct Zoom::Searchable : boost::noncopyable {
namespace metaproxy_1 {
namespace filter {
struct Zoom::Searchable : boost::noncopyable {
+ std::string authentication;
std::string database;
std::string target;
std::string query_encoding;
std::string database;
std::string target;
std::string query_encoding;
@@
-202,7
+203,7
@@
int yf::Zoom::Backend::get_error(const char **addinfo)
yf::Zoom::Searchable::Searchable()
{
piggyback = true;
yf::Zoom::Searchable::Searchable()
{
piggyback = true;
- use_turbomarc = false;
+ use_turbomarc = true;
ccl_bibset = ccl_qual_mk();
}
ccl_bibset = ccl_qual_mk();
}
@@
-297,7
+298,12
@@
void yf::Zoom::Impl::parse_torus(const xmlNode *ptr1)
{
if (ptr3->type != XML_ELEMENT_NODE)
continue;
{
if (ptr3->type != XML_ELEMENT_NODE)
continue;
- if (!strcmp((const char *) ptr3->name, "id"))
+ if (!strcmp((const char *) ptr3->name,
+ "authentication"))
+ {
+ s->authentication = mp::xml::get_text(ptr3);
+ }
+ else if (!strcmp((const char *) ptr3->name, "id"))
{
s->database = mp::xml::get_text(ptr3);
}
{
s->database = mp::xml::get_text(ptr3);
}
@@
-342,7
+348,7
@@
void yf::Zoom::Impl::parse_torus(const xmlNode *ptr1)
else if (!strcmp((const char *) ptr3->name,
"useTurboMarc"))
{
else if (!strcmp((const char *) ptr3->name,
"useTurboMarc"))
{
- s->use_turbomarc = mp::xml::get_bool(ptr3, false);
+ ; // useTurboMarc is ignored
}
else if (!strncmp((const char *) ptr3->name,
"cclmap_", 7))
}
else if (!strncmp((const char *) ptr3->name,
"cclmap_", 7))
@@
-466,6
+472,9
@@
yf::Zoom::BackendPtr yf::Zoom::Frontend::get_backend_from_databases(
if (sptr->query_encoding.length())
b->set_option("rpnCharset", sptr->query_encoding.c_str());
if (sptr->query_encoding.length())
b->set_option("rpnCharset", sptr->query_encoding.c_str());
+ if (sptr->authentication.length())
+ b->set_option("user", sptr->authentication.c_str());
+
std::string url;
if (sptr->sru.length())
{
std::string url;
if (sptr->sru.length())
{