Přejít na obsah
Skip to main content

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ři delete="true". (typ: string; nepovinný)
  • delete - Smazat asociaci - Je-li "true" a je zároveň uveden ext, asociace dané přípony se smaže; mime se 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, delete není "true"): je-li přípona ext už asociována s jiným MIME typem, replace="true" starou asociaci nahradí novou; bez replace="true" (nebo je-li nový mime shodný 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ň ext i mime; chybí-li jeden z nich (a nejde o delete), 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" a ext uveden, provede se výmaz (ext+mime, i kdyby byl mime uveden, se v tom případě neuplatní). Jinak, jsou-li uvedeny ext i mime, 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ým mime) 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 descr z 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.)