X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fmetaproxy%2Futil.hpp;h=0365919cb367cd1c181646d2ec7c3ada1fdd7b31;hb=699075159011e4fd3e0e37f58579201b4630de46;hp=e13027f4729ee941aaa7fce9cc9e925c29ab54d9;hpb=50597d2f7d3607e91c94601eb8eb495d73be3eae;p=metaproxy-moved-to-github.git diff --git a/include/metaproxy/util.hpp b/include/metaproxy/util.hpp index e13027f..0365919 100644 --- a/include/metaproxy/util.hpp +++ b/include/metaproxy/util.hpp @@ -1,5 +1,5 @@ /* This file is part of Metaproxy. - Copyright (C) 2005-2012 Index Data + Copyright (C) 2005-2013 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 @@ -35,26 +35,26 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA namespace metaproxy_1 { namespace util { - - template + + template std::string to_string(const T& t) { std::ostringstream o; if(o << t) - return o.str(); + return o.str(); return std::string(); }; - const char * + const char * record_composition_to_esn(Z_RecordComposition *comp); - std::string http_header_value(const Z_HTTP_Header* header, + std::string http_header_value(const Z_HTTP_Header* header, const std::string name); - std::string http_headers_debug(const Z_HTTP_Request &http_req); + std::string http_headers_debug(const Z_HTTP_Request &http_req); - void http_response(metaproxy_1::Package &package, - const std::string &content, + void http_response(metaproxy_1::Package &package, + const std::string &content, int http_code = 200); @@ -77,16 +77,16 @@ namespace metaproxy_1 { void split_zurl(std::string zurl, std::string &host, std::list &db); - + void get_vhost_otherinfo(Z_OtherInformation *otherInformation, std::list &vhosts); - + int remove_vhost_otherinfo(Z_OtherInformation **otherInformation, std::list &vhosts); - void set_vhost_otherinfo(Z_OtherInformation **otherInformation, + void set_vhost_otherinfo(Z_OtherInformation **otherInformation, ODR odr, - const std::string vhost, + const std::string vhost, const int cat); void set_vhost_otherinfo(Z_OtherInformation **otherInformation, @@ -134,9 +134,9 @@ namespace metaproxy_1 { odr(); ~odr(); operator ODR() const; - Z_APDU *create_close(const Z_APDU *in_apdu, + Z_APDU *create_close(const Z_APDU *in_apdu, int reason, const char *addinfo); - Z_APDU *create_initResponse(const Z_APDU *in_apdu, + Z_APDU *create_initResponse(const Z_APDU *in_apdu, int error, const char *addinfo); Z_APDU *create_searchResponse(const Z_APDU *in_apdu, int error, const char *addinfo); @@ -152,6 +152,18 @@ namespace metaproxy_1 { ODR m_odr; }; + class wrbuf : public boost::noncopyable + { + public: + wrbuf(); + ~wrbuf(); + operator WRBUF() const; + size_t len(); + const char *buf(); + private: + WRBUF m_wrbuf; + }; + class PlainFile { class Rep; boost::scoped_ptr m_p;