X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Futil.cpp;h=c92fc0b1897b0cbbe89aff67bfad9bfb0c1521f1;hb=202d60a6605b106724d4c655e920378f311da061;hp=461534741b47fad92cab20a31dff462d5dd32cf8;hpb=c93d8c8db5ae24e01775060677f8e8e9c2afff34;p=metaproxy-moved-to-github.git diff --git a/src/util.cpp b/src/util.cpp index 4615347..c92fc0b 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,4 +1,4 @@ -/* $Id: util.cpp,v 1.20 2006-09-29 08:42:47 marc Exp $ +/* $Id: util.cpp,v 1.23 2006-10-04 14:04:00 marc Exp $ Copyright (c) 2005-2006, Index Data. See the LICENSE file for details @@ -19,6 +19,24 @@ namespace mp = metaproxy_1; // Doxygen doesn't like mp::util, so we use this instead namespace mp_util = metaproxy_1::util; +const char * +mp_util::record_composition_to_esn(Z_RecordComposition *comp) +{ + if (comp && comp->which == Z_RecordComp_complex) + { + if (comp->u.complex->generic + && comp->u.complex->generic->elementSpec + && (comp->u.complex->generic->elementSpec->which == + Z_ElementSpec_elementSetName)) + return comp->u.complex->generic->elementSpec->u.elementSetName; + } + else if (comp && comp->which == Z_RecordComp_simple && + comp->u.simple->which == Z_ElementSetNames_generic) + return comp->u.simple->u.generic; + return 0; +} + + std::string mp_util::http_header_value(const Z_HTTP_Header* header, const std::string name) @@ -34,6 +52,65 @@ std::string mp_util::http_header_value(const Z_HTTP_Header* header, return std::string(); } +std::string mp_util::http_headers_debug(const Z_HTTP_Request &http_req) +{ + std::string message("\n
\n\n";
+ message += "Method: " + std::string(http_req.method) + "
\n";
+ message += "Version: " + std::string(http_req.version) + "
\n";
+ message += "Path: " + std::string(http_req.path) + "
\n";
+
+ message += "Content-Type:"
+ + mp_util::http_header_value(http_req.headers, "Content-Type")
+ + "
\n";
+ message += "Content-Length:"
+ + mp_util::http_header_value(http_req.headers, "Content-Length")
+ + "
\n";
+ message += "
\n";
+ Z_HTTP_Header* header = http_req.headers;
+ while (header){
+ message += "Header: "
+ + std::string(header->name) + ": "
+ + std::string(header->value) + "
\n";
+ header = header->next;
+ }
+ message += "