+ std::string xmlconf =
+ "<?xml version='1.0'?>\n"
+ "<filter xmlns='http://indexdata.com/metaproxy'\n"
+ " id='rewrite1' type='http_rewrite'>\n"
+ " <request verbose=\"1\">\n"
+ " <rule name=\"null\"/>\n"
+ " <rule name=\"url\">\n"
+ " <rewrite from='"
+ "(?<proto>https?://)(?<pxhost>[^ /?#]+)/(?<pxpath>[^ /]+)"
+ "/(?<host>[^ /]+)(?<path>[^ ]*)'\n"
+ " to='${proto}${host}${path}' />\n"
+ " <rewrite from='(?:Host: )(.*)'\n"
+ " to='Host: ${host}' />\n"
+ " </rule>\n"
+ " <content type=\"headers\">\n"
+ " <within header=\"link\" rule=\"null\"/>\n"
+ " <within reqline=\"1\" rule=\"url\"/>\n"
+ " </content>\n"
+ " </request>\n"
+ " <response verbose=\"1\">\n"
+ " <rule name=\"null\"/>\n"
+ " <rule name=\"url\">\n"
+ " <rewrite from='foo' to='bar'/>\n"
+ " <rewrite from='^cx' to='cy'/>\n"
+ " <rewrite from='"
+ "(?<proto>https?://)(?<host>[^/?# "'>]+)/(?<path>[^ "'>]+)'\n"
+ " to='${proto}${pxhost}/${pxpath}/${host}/${path}' />\n"
+ " </rule>\n"
+ " <content type=\"headers\">\n"
+ " <within header=\"link\" rule=\"url\"/>\n"
+ " </content>\n"
+ " <content type=\"quoted-literal\" mime=\".*javascript\">\n"
+ " <within rule=\"url\"/>\n"
+ " </content>\n"
+ " </response>\n"
+ "</filter>\n"
+ ;
+
+ std::cout << xmlconf;
+
+ // reading and parsing XML conf
+ xmlDocPtr doc = xmlParseMemory(xmlconf.c_str(), xmlconf.size());
+ BOOST_CHECK(doc);
+ xmlNode *root_element = xmlDocGetRootElement(doc);
+ fhr.configure(root_element, true, "");
+ xmlFreeDoc(doc);
+
+ router.append(fhr);
+
+ // create an http request
+ mp::Package pack;
+
+ mp::odr odr;
+ Z_GDU *gdu_req = z_get_HTTP_Request_uri(odr,
+ "http://proxyhost/proxypath/targetsite/page1.html", 0, 1);