X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fsru_util.cpp;h=a9b3d669e3ae33bb54578620f1a3deda9cbb1acc;hb=c1d953eee6c00432493bc364da6284704ccd9cc2;hp=1992f9fa1f2908764582c47a5e0fda2d07e5f45d;hpb=e6d572ef110d14fa55115021505b808620457bd3;p=metaproxy-moved-to-github.git diff --git a/src/sru_util.cpp b/src/sru_util.cpp index 1992f9f..a9b3d66 100644 --- a/src/sru_util.cpp +++ b/src/sru_util.cpp @@ -1,5 +1,5 @@ /* This file is part of Metaproxy. - Copyright (C) 2005-2010 Index Data + Copyright (C) 2005-2011 Index Data Metaproxy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -102,7 +102,8 @@ bool mp_util::build_sru_explain(metaproxy_1::Package &package, // building SRU explain record std::string explain_xml; - if (explain == 0){ + if (explain == 0) + { explain_xml = mp_util::to_string( "\n" @@ -119,7 +120,8 @@ bool mp_util::build_sru_explain(metaproxy_1::Package &package, " \n" "\n"); } - else { + else + { // make new XML DOC with given explain node xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); xmlDocSetRootElement(doc, (xmlNode*)explain); @@ -191,30 +193,30 @@ bool mp_util::build_sru_response(mp::Package &package, z_HTTP_header_add(odr_en, &http_res->headers, "Content-Type", ctype.c_str()); - // packaging Z_SOAP into HTML response - static Z_SOAP_Handler soap_handlers[4] = { - {(char *)YAZ_XMLNS_SRU_v1_1, 0, (Z_SOAP_fun) yaz_srw_codec}, - {(char *)YAZ_XMLNS_SRU_v1_0, 0, (Z_SOAP_fun) yaz_srw_codec}, - {(char *)YAZ_XMLNS_UPDATE_v0_9, 0, (Z_SOAP_fun) yaz_ucp_codec}, - {0, 0, 0} - }; + // packaging Z_SOAP into HTML response + static Z_SOAP_Handler soap_handlers[4] = { + {(char *)YAZ_XMLNS_SRU_v1_1, 0, (Z_SOAP_fun) yaz_srw_codec}, + {(char *)YAZ_XMLNS_SRU_v1_0, 0, (Z_SOAP_fun) yaz_srw_codec}, + {(char *)YAZ_XMLNS_UPDATE_v0_9, 0, (Z_SOAP_fun) yaz_ucp_codec}, + {0, 0, 0} + }; - // empty stylesheet means NO stylesheet - if (stylesheet && *stylesheet == '\0') - stylesheet = 0; + // empty stylesheet means NO stylesheet + if (stylesheet && *stylesheet == '\0') + stylesheet = 0; - // encoding SRU package + // encoding SRU package - soap->u.generic->p = (void*) sru_pdu_res; - //int ret = - z_soap_codec_enc_xsl(odr_en, &soap, - &http_res->content_buf, &http_res->content_len, - soap_handlers, charset, stylesheet); + soap->u.generic->p = (void*) sru_pdu_res; + //int ret = + z_soap_codec_enc_xsl(odr_en, &soap, + &http_res->content_buf, &http_res->content_len, + soap_handlers, charset, stylesheet); - package.response() = zgdu_res; - return true; + package.response() = zgdu_res; + return true; } package.session().close(); return false; @@ -284,27 +286,31 @@ mp_util::check_sru_query_exists(mp::Package &package, yaz_add_srw_diagnostic(odr_en, &(sru_pdu_res->u.response->diagnostics), &(sru_pdu_res->u.response->num_diagnostics), - 7, "query"); + YAZ_SRW_MANDATORY_PARAMETER_NOT_SUPPLIED, + "query"); yaz_add_srw_diagnostic(odr_en, &(sru_pdu_res->u.response->diagnostics), &(sru_pdu_res->u.response->num_diagnostics), - 10, "CQL query is empty"); + YAZ_SRW_QUERY_SYNTAX_ERROR, + "CQL query is empty"); return false; } if ((sr_req->query_type == Z_SRW_query_type_xcql && !sr_req->query.xcql)) { - yaz_add_srw_diagnostic(odr_en, + yaz_add_srw_diagnostic(odr_en, &(sru_pdu_res->u.response->diagnostics), &(sru_pdu_res->u.response->num_diagnostics), - 10, "XCQL query is empty"); - return false; + YAZ_SRW_QUERY_SYNTAX_ERROR, + "XCQL query is empty"); + return false; } if ((sr_req->query_type == Z_SRW_query_type_pqf && !sr_req->query.pqf)) { yaz_add_srw_diagnostic(odr_en, &(sru_pdu_res->u.response->diagnostics), &(sru_pdu_res->u.response->num_diagnostics), - 10, "PQF query is empty"); + YAZ_SRW_QUERY_SYNTAX_ERROR, + "PQF query is empty"); return false; } return true; @@ -329,7 +335,8 @@ std::ostream& std::operator<<(std::ostream& os, Z_SRW_PDU& srw_pdu) { os << "SRU"; - switch(srw_pdu.which) { + switch (srw_pdu.which) + { case Z_SRW_searchRetrieve_request: os << " " << "searchRetrieveRequest"; {