Vai al contenuto

📤 Middleware - Loader

📂 <root>/middlewares

HIX permette sia la definizione statica (basata sul codice sorgente principale) sia il caricamento dinamico o hot (basato sul caricamento di file nel momento in cui il server si avvia).

Se usiamo HixStyle abbiamo l'opzione di posizionare i middleware nella cartella /middlewares. Questo significa che il programmatore deve solo copiare i file necessari, e quando HIX si avvierà verificherà i file PRG, li compilerà, e faranno già parte dell'applicazione.

Ciò significa che non è necessario ricompilare ogni volta che sviluppiamo un'applicazione web per includere i nostri middleware.

Per configurare i middleware creeremo un file config.json nella directory /middlewares.

La configurazione è molto semplice:

chiave load che avrà un array di tutti i moduli PRG che abbiamo nella cartella chiave setup che avrà un hash di configurazione per i middleware che ne hanno bisogno

Esempio:

{
  "load": [
    "myappauth.prg",
    "myapplogin.prg",
    "myappauthedit.prg"
  ],
  "setup": {
    "auth": {
      "session_user_key": "_auth_user",
      "roles_key":        "roles",
      "redirect_login":   "/login",
      "redirect_accept":  "/main"
    },
    "session": {
      "cookie":   "FENIXSID",
      "ttl":      3600,
      "max":      100,
      "storage":  "memory"
    },
    "csrf": {
      "redirect": "/login"
    }
  }
}

La chiave load mostra quali file HIX processerà all'avvio

La chiave setup mostra la configurazione di ogni middleware.

Qui possiamo vedere la natura di ogni middleware e come viene configurato secondo le sue esigenze.