--- a/src/mediaserver/cdplugins/streamproxy.h
+++ b/src/mediaserver/cdplugins/streamproxy.h
@@ -23,6 +23,8 @@
 #include <string>
 #include <unordered_map>
 
+class NetFetch;
+
 /// HTTP proxy for UPnP audio transfers
 ///
 /// Uses microhttpd for the server part and libcurl for talking to the
@@ -30,11 +32,20 @@
 ///
 class StreamProxy {
 public:
+
+    /** The fetch method deciding function
+     * @param[in,out] url The original URL from the client, changed in place.
+     * @param queryparams The HTTP query parameters (?nm=value;..)
+     * @param[out] fetcher if we are proxying, the fetcher object used 
+     *   to get the data. Ownership is transferred to us.
+     * @return one of Error/Proxy/Redirect, dictating how the client request 
+     *      is to be satisfied (or not)
+     */
     enum UrlTransReturn {Error, Proxy, Redirect};
     typedef std::function<UrlTransReturn
                           (std::string& url,
-                           const std::unordered_map<std::string, std::string>&)>
-    UrlTransFunc;
+        const std::unordered_map<std::string, std::string>& queryparams,
+        std::unique_ptr<NetFetch>& fetcher)> UrlTransFunc;
 
     StreamProxy(int listenport, UrlTransFunc urltrans);
     ~StreamProxy();