- return h:file_new(url,"text/html",nil,nil,acl_,callback,nil)
+ return h:file(url,"text/html",nil,nil,acl_,callback,nil)
+end
+
+-- FIXME: Experimental art support. Needs some cleaning up.
+function callback_art(data, request)
+ local art = function(data, request)
+ local item = vlc.item()
+ local metas = item:metas()
+ local filename = vlc.strings.decode_uri(string.gsub(metas["artwork_url"],"file://",""))
+ local size = vlc.net.stat(filename).size
+ local ext = string.match(filename,"%.([^%.]-)$")
+ local raw = io.open(filename):read("*a")
+ local content = [[Content-Type: ]]..mimes[ext]..[[
+
+Content-Length: ]]..size..[[
+
+
+]]..raw..[[
+
+]]
+ return content
+ end
+
+ local ok, content = pcall(art, data, request)
+ if not ok then
+ return [[Status: 404
+Content-Type: text/plain
+Content-Length: 5
+
+Error
+]]
+ end
+ return content