Bug 126847

Summary: webdav can be replaced with http
Product: [Applications] amarok Reporter: Ilya Konstantinov <kde-bugzilla>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: 1.4-beta3   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Patch
Patch (Take 2)

Description Ilya Konstantinov 2006-05-06 14:41:07 UTC
Version:           1.4-beta3 (using KDE KDE 3.5.2)
Installed from:    Fedora RPMs

As there are no plans to use KIO to fetch data packets for the various engines to use, instead bestowing data access to the engines themselves, we can at least rely on the fact that most engines can stream from HTTP URLs and, when giving them webdav:// URLs (e.g. when a user browses a WebDAV site in the Files pane), replace webdav:// with http://.

(Technical note: WebDAV _is_ an addition of methods for HTTP for directory listing etc., but the actual retrieval of the file occurs through regular HTTP GET methods.)
Comment 1 Ilya Konstantinov 2006-05-13 12:59:26 UTC
Created attachment 16064 [details]
Patch

Simple patch, tested and found to work.
Comment 2 Thiago Macieira 2006-05-14 11:23:03 UTC
You have to replace webdavs with https too.
Comment 3 Ilya Konstantinov 2006-05-14 14:09:11 UTC
I didn't do it on purpose. Can any of our current engines handle https anyway?
Comment 4 Thiago Macieira 2006-05-14 17:52:44 UTC
Well, they for sure can't handle "webdavs".
Comment 5 Ilya Konstantinov 2006-05-14 23:49:33 UTC
Created attachment 16090 [details]
Patch (Take 2)

Changes webdav to http and webdavs to https.
Comment 6 Seb Ruiz 2006-05-18 14:54:29 UTC
SVN commit 542146 by seb:

Recognise webdav(s) as an http(s) protocol
BUG: 126847
CCMAIL: kde-bugzilla@future.shiny.co.il


 M  +2 -0      ChangeLog  
 M  +8 -1      src/enginecontroller.cpp  


--- trunk/extragear/multimedia/amarok/ChangeLog #542145:542146
@@ -21,6 +21,8 @@
       (BR 127043)
 
   BUGFIXES:
+    * Allow for recognition of the webdav protocol. Patch by Ilya 
+      Konstantinov <kde-bugzilla@future.shiny.co.il>. (BR 126847)
     * Setting a rating on an unplayed track would affect score generated.
       Patch by Patrick Muench <s7mon@web.de>. (BR 127475)
     * Stop tags with different capitalisation being treated as the same
--- trunk/extragear/multimedia/amarok/src/enginecontroller.cpp #542145:542146
@@ -312,7 +312,7 @@
     if ( !m_playFailureCount )
         failure_time.start();
 
-    const KURL url = bundle.url();
+    KURL url = bundle.url();
     debug() << "Loading URL: " << url.url() << endl;
     m_lastMetadata.clear();
 
@@ -332,6 +332,13 @@
     else
         amaroK::StatusBar::instance()->shortMessage( i18n("Connecting to stream source...") );
 
+    // WebDAV protocol is HTTP with extensions (and the "webdav" scheme
+    // is a KDE-ism anyway). Most engines cope with HTTP streaming, but
+    // not through KIO, so they don't support KDE-isms.
+    if ( url.protocol() == "webdav" )
+        url.setProtocol( "http" );
+    else if ( url.protocol() == "webdavs" )
+        url.setProtocol( "https" );
 
     if( m_engine->load( url, url.protocol() == "http" || url.protocol() == "rtsp" ) )
     {