Požadavek mimes
Účel a dopady
Přidá, přepíše nebo smaže asociaci mezi příponou souboru a MIME typem, kterou webový server používá při obsluze souborů, a vždy vrátí aktuální kompletní seznam všech definovaných asociací. Bez uvedení atributů měnících vlastnosti akce jen vypíše aktuální seznam beze změny. Vedlejší efekt: úspěšná změna se zapisuje i do databáze a promítne se okamžitě do běžící instance serveru, nejen do konfigurace pro příští restart.
Dostupnost, kontext, oprávnění apod.
- Smí použít jen uživatel s
r_admin; jinak je požadavek zamítnut. - Podléhá standardnímu transakčnímu zpracování obálky
<request>(transactional/přeskočení při odvolané transakci) – viz obálka požadavku.
XML požadavek (syntax + popis)
<request>
<mimes
ext="{string}"
mime="{string}"
delete="{bool}"
replace="{bool}"
/>
</request>
Parametry a pravidla (atributy, potomci)
ext- Přípona - Název přípony souboru, ke které se má asociace přidat/přepsat/smazat (server ji před použitím převede na malá písmena a ořeže bílé znaky). (typ:string; nepovinný)mime- MIME typ - Řetězec MIME typu, který se má k příponě přiřadit. Nemá vliv přidelete="true". (typ:string; nepovinný)delete- Smazat asociaci - Je-li"true"a je zároveň uvedenext, asociace dané přípony se smaže;mimese v tomto případě ignoruje. (typ:bool; nepovinný; výchozí:false)replace- Přepsat existující - Má význam jen při přidávání (ext+mime,deletenení"true"): je-li příponaextuž asociována s jiným MIME typem,replace="true"starou asociaci nahradí novou; bezreplace="true"(nebo je-li novýmimeshodný se stávajícím) se přidání pro už existující příponu tiše přeskočí. (typ:bool; nepovinný; výchozí:false)
Požadavek nemá žádné potomky.
Závislosti
delete="true"vyžaduje zároveňext; jinak se žádný výmaz neprovede (viz „Zpracování“).- Přidání/přepsání asociace vyžaduje zároveň
extimime; chybí-li jeden z nich (a nejde odelete), požadavek jen vrátí aktuální seznam beze změny. - Selhání samotného zápisu do databáze není v odpovědi nijak signalizováno; odpověď vždy pokračuje výpisem aktuálního seznamu s
type="ok".
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
- Priorita akcí: je-li
delete="true"aextuveden, provede se výmaz (ext+mime, i kdyby bylmimeuveden, se v tom případě neuplatní). Jinak, jsou-li uvedenyextimime, provede se přidání/přepsání. Jinak se neprovede žádná změna. - Přidání s již existující příponou bez
replace="true"(nebo se shodnýmmime) může skončit bez změny; z pohledu klienta požadavek přesto uspěje a vrátí nezměněný seznam. - Po provedení (nebo bez provedení) změny server vždy vypíše kompletní aktuální seznam všech asociací.
- Na rozdíl od dosavadní dokumentace server editaci i výmaz existujících asociací podporuje – předchozí tvrzení, že je nutný ruční zásah do databáze a že požadavek na výmaz není k dispozici, neodpovídá aktuálnímu chování serveru.
XML odpověď (syntax + popis)
<response>
<mimes
type="ok"
>
<mime
ext="{string}"
mime="{string}"
/> *
</mimes>
</response>
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
<mimes status="error" detail="Transakce byla odvolana"/>– volající nemár_admin. Pozorované chování (vypadá jako chyba serveru): text chyby zní „Transakce byla odvolana“ (obvykle vyhrazeno pro odvolanou transakci), ne očekávané „Nemate patricna opravneni“. Je zde popsáno bez opravy.<mimes status="error" detail="Transakce byla preskocena"/>/<mimes status="error" detail="Transakce byla odvolana"/>– standardní transakční vyřazení obálky.- Atribut
descrz dosavadní dokumentace není podporován; chybová odpověď používástatus+detail, úspěšnátype="ok". Výraz pro identifikaci chyb v odpovědi serveru:mimes[@status='error'].
Související požadavky
(Žádný ověřený související požadavek ve zveřejněné dokumentaci.)