Get Mini Webserver Resource
Zuletzt geändert: 06.05.2026 19:34

Übersicht

Get-MiniWebserverResource #

ÜBERSICHT #

Liest eine statische Webserver-Ressource (HTML, CSS, JS, Bild, Icon) aus einem optionalen Override-Ordner oder dem Default-Ordner des Moduls.

SYNTAX #

Get-MiniWebserverResource [-ResourceName] <string> [[-SourceFolder] <string>] [<CommonParameters>]

BESCHREIBUNG #

Get-MiniWebserverResource liefert den Inhalt einer Datei zurück, die für den Mini-Webserver ausgeliefert werden soll. Die Suche erfolgt in zwei Stufen:

  1. SourceFolder (optional, vom Aufrufer) - dort wird zuerst gesucht, damit individuelle Anwendungen einzelne Dateien überlagern können.
  2. Default-Folder im Modul (<ModuleBase>\web\) - dort liegen die mit dem Modul ausgelieferten Standard-Ressourcen (style.css, partner.html, email.html, script_*.js, favicon.ico …).

Findet die Funktion die Datei in keinem der beiden Ordner, gibt sie $null zurück.

Textdateien (.html, .css, .js, .json, .txt, .svg) werden als UTF-8 String gelesen, Binärdateien (.ico, .png, .jpg, .jpeg, .gif, .woff, .woff2) als Byte-Array.

PARAMETER #

-ResourceName #

Type: string

Name der gewünschten Datei einschließlich Endung, z.B. ‘partner.html’ oder ‘favicon.ico’. Reine Datei-Namen, keine Pfade.

-SourceFolder #

Type: string

Optional. Pfad eines Override-Ordners, in dem zuerst nach der Datei gesucht wird. Wird der Parameter nicht gesetzt, kommt direkt der Modul-Default-Ordner <ModuleBase>\web\ zum Zug.

AUSGABEN #

string oder byte[].

Inhalt der Datei. Bei Textdateien als UTF-8 dekodierter String, bei Binärdateien als Byte-Array. $null, wenn die Datei nirgends gefunden wurde.

BEISPIELE #

# Holt die mit dem Modul ausgelieferte Default-Datei.
Get-MiniWebserverResource -ResourceName 'partner.html'
# Eigene partner.html überlagert die Modul-Default; alle anderen Dateien
# kommen weiterhin aus dem Modul.
Get-MiniWebserverResource -ResourceName 'partner.html' -SourceFolder 'C:\MeinWebRoot'
# Binärdatei: liefert ein Byte-Array zurück.
[byte[]] $ico = Get-MiniWebserverResource -ResourceName 'favicon.ico'

HINWEISE #

  • Default-Ordner ist <ModuleBase>\web\ und wird beim Build aus web\ (Repo-Root, analog zu host, schema, xslt) ins Modul kopiert.
  • Es gibt bewusst keinen Cache mehr - Datei-IO auf NTFS ist günstig genug, und der frühere Here-String-Cache (Set-MiniWebserverResources) hat AV-Scanner durch große Base64-Blöcke gestört.