Portál AbcLinuxu, 30. dubna 2025 21:56

Wrapper pro připojování WebDAV podle RFC 4709

19.3.2007 17:43 | Přečteno: 992× | Web | poslední úprava: 19.3.2007 18:00

RFC 4709 z října minulého roku definuje způsob, jak inzerovat na webu WebDAV svazky. Namísto obskurdního micro$shitího použití <a folders="..."> (viz tuto m$ dokumentaci) představuje toto RFC čistou a jednoduchou cestu, jak toho dosáhnout.

Problém připojování WebDAV svazků totiž spočívá v tom, že jedno URL může označovat jak obyčejnou webovou stránku, tak WebDAV svazek. Micro$hit to řeší nestadartním elementem v HTML. Nové RFC místo toho vkládá mezistupeň, kdy z HTML dokumentu je dán odkaz na kratičký soubor, který označuje WebDAV svazek (včetně možnosti nadefinovat, co je „kořen“ svazku a v jakém jeho podadresáři jej má prohlížč otevřít). Tento soubor (včetně HTTP hlaviček) může vypadat nějak takto (vzato z RFC):

   HTTP/1.1 200 OK
   Content-Type: application/davmount+xml
   Content-Length: xxx
   Cache-Control: private

   <dm:mount xmlns:dm="http://purl.org/NET/webdav/mount">
     <dm:url>http://www.example.com/user42/</dm:url>
     <dm:open>inbox/</dm:open>
   </dm:mount>

Implementovat toto pomocí např. php skriptu je otázka chvilky. Jediný problém je, že si zatím prohlížeče neumí s tímto souborem poradit. Moje prozatimní řešení je (horkou jehlou ušitý) skriptík, který se použije jako wrapper pro content-type application/davmount+xml a spustí odpovídajícím způsobem nautilus:

#!/bin/sh
F=$1
URL=`grep "<dm:url" $F | sed 's/^.*< *dm:url *>\(.*\)< *\/ *dm:url *>.*$/\1/'`
OPEN=`grep "<dm:open" $F | sed 's/^.*< *dm:open *>\(.*\)< *\/ *dm:open *>.*$/\1/'`
USER=`grep "<dm:username" $F | sed 's/^.*< *dm:username *>\(.*\)< *\/ *dm:username *>.*$/\1/'`
U=`echo "$URL" |sed "s/:\/\//:\/\/$USER@/"`$OPEN
U=`echo "$U" |sed "s/^http/dav/" `
nautilus "$U"

Lepší by si samozřejmě byl korektní wrapper, který správně rozpársuje soubor jako XML a spustí definovatelný program. Ale na to jsem byl moc línej :-P ...

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

19.3.2007 20:50 User682 | skóre: 38 | blog: aqarium | Praha
Rozbalit Rozbalit vše Re: Wrapper pro připojování WebDAV podle RFC 4709
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim,

kdyz budu nekomu povidat do prace........

ono by stacilo nez obcas neco parsovat sedem, tak na dany format pouzit xmlstarlet. I kdyz pochopit tento nastroj, je take veda.

To je asi to, co hledate a melo by to kokretne fungovat.

O neco horsi reseni je udelat si xml stransformaci, provest pres xsltproc a vysledek nejak spustit.

Osobne podobnym parserum moc neverim. Uz jsme se nekde na podobnem reseni spalili a to hodne. Je otazkou casu, kdy vam nekdo odradkuje nejaky nod xml dokumentu a jste v haji. Anebo Vam zapise korektne dokument s nejakou entitou.

To, co popisuji je cesta zpet na stromy. OK, beru. Ale pak vedi chodi podstatne lepe, nez kdyz napisete exploreru na zacatek html dokumentu 7 a vice odradkovanych korektnich komentaru.

bye gf
Petr Tomášek avatar 19.3.2007 21:53 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Wrapper pro připojování WebDAV podle RFC 4709
Jak jsem říkal, jedná se „rychlý haček“ (navíc ho používám víceméně jen pro jednu svoji stránku, než bude existovat něco lepšího.)
multicult.fm | monokultura je zlo | welcome refugees!

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.