-/* $Id: filter_sru_to_z3950.cpp,v 1.28 2007-01-25 13:52:56 adam Exp $
- Copyright (c) 2005-2006, Index Data.
+/* $Id: filter_sru_to_z3950.cpp,v 1.31 2007-03-20 07:05:10 adam Exp $
+ Copyright (c) 2005-2007, Index Data.
See the LICENSE file for details
*/
sru_pdu_res, soap,
charset, stylesheet)))
{
- mp_util::build_sru_explain(package, odr_en, sru_pdu_res,
- sruinfo, explainnode);
- mp_util::build_sru_response(package, odr_en, soap,
- sru_pdu_res, charset, stylesheet);
- package.session().close();
+ if (soap)
+ {
+ mp_util::build_sru_explain(package, odr_en, sru_pdu_res,
+ sruinfo, explainnode);
+ mp_util::build_sru_response(package, odr_en, soap,
+ sru_pdu_res, charset, stylesheet);
+ }
+ else
+ {
+ metaproxy_1::odr odr;
+ Z_GDU *zgdu_res =
+ odr.create_HTTP_Response(package.session(),
+ zgdu_req->u.HTTP_Request, 400);
+ package.response() = zgdu_res;
+ }
return;
}
sru_pdu_res = yaz_srw_get(odr_en, Z_SRW_explain_response);
// TODO: make nice diagnostic return package
- package.session().close();
return;
}
&(sru_pdu_res->u.response->diagnostics),
&(sru_pdu_res->u.response->num_diagnostics),
2, 0);
- package.session().close();
return false;
}
&(sru_pdu_res->u.response->diagnostics),
&(sru_pdu_res->u.response->num_diagnostics),
2, 0);
- package.session().close();
return false;
}
bool
yf::SRUtoZ3950::Impl::z3950_close_request(mp::Package &package) const
{
- // close SRU package
- package.session().close();
-
// prepare and close Z3950 package
Package z3950_package(package.session(), package.origin());
z3950_package.copy_filter(package);
&(sru_pdu_res->u.response->diagnostics),
&(sru_pdu_res->u.response->num_diagnostics),
2, 0);
- package.session().close();
return false;
}
&(sru_pdu_res->u.response->diagnostics),
&(sru_pdu_res->u.response->num_diagnostics),
2, 0);
- package.session().close();
return false;
}
-
+
// everything fine, continuing