Ich versuche zu verstehen, wie man Middlewares für EWGI Kompatibilität entwerfen sollte. Da es noch keinen EWGI-konformen Webserver gibt, kann ich nur nach Ihrer Meinung fragen.Entwerfen für EWGI-Kompatibilität
Wenn ich die Spezifikation verstehe. richtigerweise empfängt eine Middleware einen #ewgi_context {} - Datensatz als Eingabe und gibt einen anderen Datensatz desselben Typs zurück.
Frage ist, wird die Middleware zweimal aufgerufen wie in django, oder soll es den Rest der Middlewares rekursiv selbst nennen?
Gibt es auch eine vorgeschlagene Möglichkeit für eine Middleware, den Rest der Middlewares zu benachrichtigen, dass das Ergebnis angeblich die endgültige Antwort ist? (Wenn beispielsweise die File-Serving-Middleware eine Datei gefunden hat, ist es nicht sinnvoll, die View-Middleware aufzurufen). Als Ergebnis meiner Ansicht ist eine Kontextaufzeichnung, wie sollte der Rest der Middlewares (oder der Server) herausfinden, dass es die endgültige Antwort ist?
Vielen Dank für Ihre Antwort. Mit dem EWGI-konformen Webserver meinte ich einen Webserver, der eine Liste von Middlewares als Input nimmt. Betrachtet man die Beispiele, macht Erlang Web es in einer Richtung (siehe e_mod_ewgi: do/1 in der E-Mail), BeepBeep macht es andersherum (siehe beepbeep: run/2). Auch in ewgi_application: run/1 in den Ewgi-Quellen (http://github.com/skarab/ewgi/tree/master) scheint es für die iterative (nicht-rekursive Methode) zu sein. – Zed