X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_zoom.cpp;h=ae29e0d5f0fedc5b804645862b178aec4d8d8e8d;hb=0ee1fd4b16bd7c5510c756790e8e4f1d2217de31;hp=bf6f4ab65d4a327ef46c33b32c7aa0d04ba6d069;hpb=fee3c45cf4ce01083218e41622f54e5fced0fadf;p=metaproxy-moved-to-github.git diff --git a/src/filter_zoom.cpp b/src/filter_zoom.cpp index bf6f4ab..ae29e0d 100644 --- a/src/filter_zoom.cpp +++ b/src/filter_zoom.cpp @@ -1411,9 +1411,24 @@ Z_Records *yf::Zoom::Frontend::get_records(Package &package, if (b->enable_cproxy && b->content_session_id.length()) { - wrbuf_printf(cproxy_host, "\"%s.%s/\"", - b->content_session_id.c_str(), - m_p->content_proxy_server.c_str()); + const char *proxy_server_cstr = m_p->content_proxy_server.c_str(); + const char *session_sub = strstr(proxy_server_cstr, "%s"); + + if (session_sub) + { + wrbuf_puts(cproxy_host, "\""); + wrbuf_write(cproxy_host, proxy_server_cstr, + session_sub - proxy_server_cstr); + wrbuf_puts(cproxy_host, b->content_session_id.c_str()); + wrbuf_puts(cproxy_host, session_sub + 2); + wrbuf_puts(cproxy_host, "/\""); + } + else + { + wrbuf_printf(cproxy_host, "\"%s.%s/\"", + b->content_session_id.c_str(), + proxy_server_cstr); + } xsl_parms[0] = "cproxyhost"; xsl_parms[1] = wrbuf_cstr(cproxy_host); xsl_parms[2] = 0;